解题思路:
1.先将字符串转成字符数组
2.分别从前后遍历字符数组,如果前后都遍历到了元音字母,就交换两个字符,否则,就继续下一次遍历,直到前后都遍历到了元音字母
3.将字符数组转字符串
代码实现:
class Solution {
public String reverseVowels(String s) {
//元音字母:a,e,i,o,u(区分大小写)
int len=s.length();
int i=0;//从前向后遍历
int j=len-1;//从后向前遍历
char[] num=new char[200];
num['a']=1;
num['e']=1;
num['i']=1;
num['o']=1;
num['u']=1;
num['A']=1;
num['E']=1;
num['I']=1;
num['O']=1;
num['U']=1;
//字符串转字符数组
char[] arr = s.toCharArray();
while(i<j){
if(num[arr[i]]==0){
i++;
continue;
}
if(num[arr[j]]==0){
j--;
continue;
}
//交换i和j处的字符
char temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
i++;
j--;
}
//字符数组转字符串
s=String.valueOf(arr);
return s;
}
}
来源:CSDN
作者:我就是个渴望成长的小菜鸡
链接:https://blog.csdn.net/junjunjiao0911/article/details/104155984