-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathReverseVowelsOfString.java
More file actions
32 lines (23 loc) · 887 Bytes
/
ReverseVowelsOfString.java
File metadata and controls
32 lines (23 loc) · 887 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class Solution {
public String reverseVowels(String s) {
Set<Character> vowels = new HashSet<>(Arrays.asList('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'));
char[] charArray = s.toCharArray();
int left = 0, right = charArray.length - 1;
while (left < right) {
if (vowels.contains(charArray[left])) {
if (vowels.contains(charArray[right])) {
char temp = charArray[left];
charArray[left] = charArray[right];
charArray[right] = temp;
left++;
right--;
} else {
right--;
}
} else {
left++;
}
}
return new String(charArray);
}
}