LeetCode345 反转字符串中的元音字母Java

115 阅读1分钟

LeetCode345 反转字符串中的元音字母

编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例 1:

输入:"hello"
输出:"holle"
示例 2:

输入:"leetcode"
输出:"leotcede"

提示:
元音字母不包含字母 "y"
class Solution {

    public String reverseVowels(String s) {

        int n = s.length();
        int left = 0, right = n - 1;
        char[] sChar = s.toCharArray();
        
        while (left < right) {

            char a = sChar[left];
            char b = sChar[right];

            if (!isVowel(a)) {

                left++;
                continue;
            } else if (!isVowel(b)) {

                right--;
                continue;
            } else {

                char c = sChar[left];
                sChar[left] = sChar[right];
                sChar[right] = c;
            }
            left++;
            right--;
        }
        return new String(sChar);
    }

    private boolean isVowel(char c) {

        return c == 'a' || c == 'o' || c == 'e' || c == 'i' || c == 'u' || c == 'A' || 
                c == 'O' || c == 'E' || c == 'I' || c == 'U';
    }
}

image.png