反转字符串的元音字母

给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。

元音字母包括 'a'、'e'、'i'、'o'、'u',且可能以大小写两种形式出现。

class Solution {
    public String reverseVowels(String s) {
        char[] chars = s.toCharArray();//字符串转字符数组
        int l = 0;
        int r= chars.length-1;
        while (l<r){
            while (l<r&&!ischar(chars[l])){//当左指针小于右指针时,判断是否有元音字母
                l++;
            }
            while (r>l&&!ischar(chars[r])){
                r--;
            }  
            char temp = chars[l];//交换
            chars[l]=chars[r];
            chars[r]=temp;
            l++;
            r--;
        }
        return new String(chars);
    }
    private  boolean ischar(char c) {
        if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' || c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U')
            return true;
        return false;

    }
}
posted @ 2021-10-03 11:04  落笔生花  阅读(109)  评论(0)    收藏  举报