编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例 1:
给定 s = "hello", 返回 "holle".
示例 2:
给定 s = "leetcode", 返回 "leotcede".
注意:
元音字母不包括 "y".
分析:元音字母有 a、e、i、o、u;
根据题目示例,题目是要求我们把字符串左边第一个元音字母和右边第一个元音字母交换,以此遍历下去,题目Java代码为:
public class ReverseVowels {
public static void main(String[] args) {
String s="leetcode";
System.out.println(reverseVowels(s));
}
public static String reverseVowels(String s) {
char []a=s.toCharArray();
int j=s.length()-1;
for(int i=0;i<s.length();i++)
{
if(isVowels(a[i])) {
for(;j>i;j--) {
if(isVowels(a[j]))
{
char t=a[j];
a[j]=a[i];
a[i]=t;
j--;
break;
}
}
}
}
s=new String(a);
return s;
}
private static boolean isVowels(char c) {
if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u')
return true;
if(c=='A'||c=='E'||c=='I'||c=='O'||c=='U')
return true;
return false;
}
}