【LeetCode】345. 反轉字串中的母音字母(Reverse Vowels of a String)
阿新 • • 發佈:2018-12-07
題目描述: 編寫一個函式,以字串作為輸入,反轉該字串中的母音字母。
示例:
輸入: "hello"
輸出: "holle"
解題思路: 雙指標典型題目,注意母音字母不要只考慮小寫的。
public String reverseVowels(String s) {
if(s == null || s.length() == 0) return s;
char[] c = s.toCharArray();
int pre = 0, last = c.length - 1;
while (last > pre){
while(last > pre && !isVowel(c[last])) last--;
while(last > pre && !isVowel(c[pre])) pre++;
if(last > pre){
char t = c[last];
c[last] = c[pre];
c[pre] = t;
}
last-- ;
pre++;
}
return new String(c);
}
public boolean isVowel(char c){
c = Character.toLowerCase(c);
if(c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') return true;
return false;
}