Write a function that takes a string as input and reverse only the vowels of a string.
Example 1:
Given s = "hello", return "holle".
Example 2:
Given s = "leetcode", return "leotcede".
Note:
The vowels does not include the letter "y".
Subscribe to see which companies asked this question.
public class Solution {
public String reverseVowels(String s) {
int i, j;
String string = "aeiouAEIOU";
i = 0;
j = s.length() - 1;
char t;
StringBuilder sBuilder = new StringBuilder(s);
while (j >= i) {
if (string.indexOf(s.charAt(i)) != -1 && string.indexOf(s.charAt(j)) != -1) {
t = sBuilder.charAt(i);
sBuilder.setCharAt(i, sBuilder.charAt(j));
sBuilder.setCharAt(j, t);
i++;
j--;
} else if (string.indexOf(s.charAt(j)) == -1) {
j--;
} else if (string.indexOf(s.charAt(i)) == -1) {
i++;
} else {
i++;
j--;
}
}
return sBuilder.toString();
}
}