编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例 1:
输入: "hello" 输出: "holle"
示例 2:
输入: "leetcode" 输出: "leotcede"
说明:
元音字母不包含字母"y"。
package p345;
public class Main {
public static void main(String[] args) {
String s = "aA";
System.out.println(reverseVowels(s));
}
//翻转元音字母
public static String reverseVowels(String s) {
//定义元音字母
char[]c = {'a','e','i','o','u','A','E','I','O','U'};
char[] arr = s.toCharArray();
int i=0;
int j = arr.length-1;
//循环遍历遇见元音字母停止交换
while (i<j) {
char yuan_start = arr[i];
if (!isYuan(yuan_start, c)) {
i++;
continue;
}
char yuna_end = arr[j];
if (!isYuan(yuna_end, c)) {
j--;
continue;
}
if (isYuan(yuan_start, c) && isYuan(yuna_end, c)) {
change(i, j, arr);
i++;
j--;
}
}
return new String(arr);
}
//判断字符是不是原因字母
public static boolean isYuan(char yuan,char[]c){
boolean result = false;
for (int i=0;i<c.length;i++) {
char temp = c[i];
if (yuan == temp) {
result = true;
}
}
return result;
}
//交换函数
public static void change(int i,int j,char c[]){
char temp = c[i];
c[i] = c[j];
c[j] = temp;
}
}