给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。
元音字母包括 'a'、'e'、'i'、'o'、'u',且可能以大小写两种形式出现。
示例 1:
输入:s = "hello"
输出:"holle"
1.双指针
Array.asList来初始化list,但是这个list就不能增删
public String reverseVowels(String s) {
if(s.length()==0){
return null;
}
List<String> list=Arrays.asList("a","e","i","o","u","A","E","I","O","U");
int len=s.length()-1;
int begin=0;
char[] res= new char[len+1];
while(begin<=len){
String a= String.valueOf(s.charAt(begin));
String b= String.valueOf(s.charAt(len));
if(list.contains(a)&&list.contains(b)){
res[begin]=s.charAt(len);
res[len]=s.charAt(begin);
begin++;
len--;
}else if(list.contains(a)&& !list.contains(b)){
res[len]=s.charAt(len);
len--;
}else if(!list.contains(a)){
res[begin]=s.charAt(begin);
begin++;
}
}
return new String(res);
}