public static String reverseVowels(String s) {
//先定义两个指针
int l = 0;
int r = s.length()-1;
//建立一个结果集
char[] reslut = new char[s.length()];
//将元音字母存放在集合中
HashSet<Character> list1 = new HashSet<Character>(Arrays.asList('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'));
//开始循环遍历
while(l <= r) {
char lchar = s.charAt(l);//取出指针对应的字符
char rchar = s.charAt(r);
if(!list1.contains(lchar)) {//如果元音字母集合不存在该当前指针下的字符
reslut[l] = lchar; //将当前字符加入结果集
l++;//往后移
}else if(!list1.contains(rchar)){
reslut[r] = rchar;
r--;
}else {//如果元音字母集合同时存在该当前两个指针下的字符
reslut[l] = rchar;//交换
reslut[r] = lchar;
l++;//指针移动
r--;
}
}
return new String(reslut);
}
}
345.反转字符串中的元音字母
最新推荐文章于 2024-09-26 00:03:11 发布