题目如下:
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".
Note:
The vowels does not include the letter "y".
<span style="font-size:14px;"> public String reverseVowels(String s) {
int i=0;
int j=s.length()-1;
char[] string_array = s.toCharArray();
while(j>=0 && i<=j){
if(!(Character.toLowerCase(string_array[i])=='a' || Character.toLowerCase(string_array[i])=='e' || Character.toLowerCase(string_array[i])=='i'
|| Character.toLowerCase(string_array[i])=='o' || Character.toLowerCase(string_array[i])=='u')){
i++;
continue;
}
if(Character.toLowerCase(string_array[j])=='a' || Character.toLowerCase(string_array[j])=='e' || Character.toLowerCase(string_array[j])=='i'
|| Character.toLowerCase(string_array[j])=='o' || Character.toLowerCase(string_array[j])=='u'){
char temp = string_array[i];
string_array[i] = string_array[j];
string_array[j] = temp;
i++;
}
j--;
}
return String.valueOf(string_array);
}</span>
评论区的思路也大致和上面的类似,花样一般在比较字符和元音字符是否相同上,这里就不贴代码了,想看的直接去评论区一探究竟便可。
Reverse Vowels of a String评论区地址:https://leetcode.com/discuss/questions/oj/reverse-vowels-of-a-string
最后,检讨一下,做这道题的原因纯粹是有一道别的题做不出来了,只好找一道简单题发泄一下了,争取明天把难题做出来,从哪里跌倒再从哪里爬起来,嘿嘿嘿。