345. Reverse Vowels of a String

看一个培训面试的视频,就使用这个题当例题的,我觉得我做的比面试里的人好多了,可实际上紧张的时候我的大脑是不能被信任的,所以。。。

public class Solution {
    public String reverseVowels(String s) {
        if (s.length() <= 1) return s;
        char[] cArr = s.toCharArray();
        int l = 0;
        int r = cArr.length - 1;
        while (l < r) {
            while (l < r && !isVowel(cArr[l])) l++;
            while (l < r && !isVowel(cArr[r])) r--;
            char temp = cArr[l];
            cArr[l++] = cArr[r];
            cArr[r--] = temp;
        }
        
        return new String(cArr);
    }
    
    public boolean isVowel(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;
        else return false;
    }
}
posted @ 2016-11-04 08:15  哇呀呀..生气啦~  阅读(75)  评论(0)    收藏  举报