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

反转字符串中的元音字母--Java_第1张图片
解题如下,双指针法:

class Solution {
    public String reverseVowels(String s) {
         if(s == "" || s==null)
            return s;
        char[] ch=s.toCharArray();
        for(int pre=0,cur=ch.length-1;cur>pre;){//前后指针的设定
            if(isVowels(ch[pre])){//判断前指针是否指向元音字母
                if(isVowels(ch[cur]))//判断后指针是否指向元音字母
                 {
                     char exchang=ch[pre];
                     ch[pre]=ch[cur];
                     ch[cur]=exchang;//交换元音字母
                     pre++;
                     cur--;
            }
             else   cur--;
          }
        else pre++;
        }
        return new String(ch);
    }
    private static Boolean isVowels(char c){//判断是否是元音字母的具体实现
        if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u')
            return true;
        else if(c=='A'||c=='E'||c=='I'||c=='o'||c=='U')
            return true;
        else return false;
    }
}

你可能感兴趣的:(leet,code)