1282. 翻转字符串中的元音字母
写一个方法,接受给定字符串作为输入,并且只翻转字符串中的元音字母。
样例
样例 1:
输入 : s = "hello"
输出 : "holle"
样例 2:
输入 : s = "lintcode"
输出 : "lentcodi".
注意事项
元音字母不包含字母 "y"。
public class Solution {
/**
* @param s: a string
* @return: reverse only the vowels of a string
*/
public String reverseVowels(String s) {
// write your code here
HashSet<Character> array = new HashSet<>();
array.add('a');
array.add('e');
array.add('i');
array.add('o');
array.add('u');
array.add('A');
array.add('E');
array.add('I');
array.add('O');
array.add('U');
char[] chars = s.toCharArray();
int start = 0;
int end = chars.length - 1;
char temp;
while (start < end) {
if (array.contains(chars[start]) && array.contains(chars[end])) {
temp = chars[start];
chars[start] = chars[end];
chars[end] = temp;
start++;
end--;
} else if (!array.contains(chars[start]) && !array.contains(chars[end])) {
start++;
end--;
} else if (!array.contains(chars[end])) {
end--;
} else {
start++;
}
}
return String.valueOf(chars);
}
}