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

题目描述:

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

示例 1:
给定 s = "hello", 返回 "holle".

示例 2:
给定 s = "leetcode", 返回 "leotcede".

注意:
元音字母不包括 "y".

解题思路:

双指针法,两边找到元音字母然后交换就OK啦。

 

代码实现(Java语言):

    class Solution {
        public String reverseVowels(String s) {
            if(s == "" || s==null)
                return s;
            int i = 0,j = s.length() - 1;
            char[] str = s.toCharArray();
            while(i < j){
                while(i < j && !judgeVowel(str[i]))
                    i++;
                while(i < j && !judgeVowel(str[j]))
                    j--;
                if(i < j){
                    char temp = str[i];
                    str[i] = str[j];
                    str[j] = temp;
                    i++;
                    j--;
                }
            }
            return new String(str);
        }
        public boolean judgeVowel(char c){
            return c == 'a' | c == 'e' | c == 'i' | c == 'o' | c == 'u' |
                   c == 'A' | c == 'E' | c == 'I' | c == 'O' | c == 'U';
        }
    }
---------------------
作者:技术小二郎
来源:CSDN
原文:https://blog.csdn.net/qq_16151925/article/details/80287353
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2019-07-30 13:08  天涯海角路  阅读(111)  评论(0)    收藏  举报