您的位置:首页 > 其它

leetcode--Reserve Vowels of a String

2016-04-26 12:44 423 查看
Write a function that takes a string as input and reverse only the vowels of a string.

Example 1:

Given s = “hello”, return “holle”.

Example 2:

Given s = “leetcode”, return “leotcede”.

反转元音字母,只需要做判断就行了,还是使用从两端向中间逼近的方法。

package test;

public class StringReserve2 {
public static String reverseVowels(String s) {
char[] c1 = s.toCharArray();
int i = 0, j = c1.length - 1;

while (i < j) {
if (isVowel(c1[j]) && isVowel(c1[i])) {
char tmp = c1[i];
c1[i] = c1[j];
c1[j] = tmp;
i++;
j--;

}
else if (!isVowel(c1[j]) && isVowel(c1[i]))
j--;
else if (isVowel(c1[j]) && !isVowel(c1[i]))
i++;
else{
i++;
j--;
}
}
return new String(c1);
}

public static boolean isVowel(char c) {
switch (c) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
return true;
}

return false;
}

public static void main(String[] args) {
String s = "leetcode";
String reString = reverseVowels(s);
System.out.print(reString);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string leetcode