Java实现 LeetCode 345 反转字符串中的元音字母

百般思念 提交于 2020-03-09 12:13:21

345. 反转字符串中的元音字母

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

示例 1:

输入: “hello”
输出: “holle”
示例 2:

输入: “leetcode”
输出: “leotcede”
说明:
元音字母不包含字母"y"。

class Solution {
     public String reverseVowels(String s) {
        if (s.length() == 0){
            return "";
        }
        char[] ss = s.toCharArray();
        int i = 0, j = s.length()-1;
        while(i<j){
            while(i<j && (ss[j]!='a' && ss[j]!='e' && ss[j]!='i' && ss[j]!='o' && ss[j]!='u' && ss[j]!='A' && ss[j]!='E' && ss[j]!='I' && ss[j]!='O' && ss[j]!='U'))
                j--;
            while(i<j && (ss[i]!='a' && ss[i]!='e' && ss[i]!='i' && ss[i]!='o' && ss[i]!='u' && ss[i]!='A' && ss[i]!='E' && ss[i]!='I' && ss[i]!='O' && ss[i]!='U'))
                i++;
            if (ss[i] != ss[j]){
                char temp = ss[i];
                ss[i] = ss[j];
                ss[j] = temp;
            }
            i++;
            j--;
        }
        String str = String.valueOf(ss);
        return str;
    }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!