0345. Reverse Vowels of a String
Description
**Input:** s = "hello"
**Output:** "holle"**Input:** s = "leetcode"
**Output:** "leotcede"ac
class Solution {
public String reverseVowels(String s) {
// edge cases
if (s.length() <= 1) return s;
char[] chars = s.toCharArray();
int l = 0, r = chars.length - 1;
while (l < r) {
while (l < r && !isVowel(chars[l])) l++;
while (l < r && !isVowel(chars[r])) r--;
char tmp = chars[l];
chars[l++] = chars[r];
chars[r--] = tmp;
}
return String.valueOf(chars);
}
private boolean isVowel(char c) {
c = Character.toLowerCase(c);
if (c == 'e' || c == 'u' || c == 'o' || c == 'i' || c == 'a')
return true;
return false;
}
}Last updated