Reverse Vowels in a String – Java Source Code
public static boolean isVowel(char inp) {
char c = Character.toUpperCase(inp);
if ((c == 'A') || (c == 'E') || (c == 'I') || (c == 'O') || (c == 'U')) {
return true;
}
return false;
}
public static void reverseVowels(char[] a) {
int start = 0;
int end = a.length - 1;
while (start < end) {
while ((start < a.length) && !isVowel(a[start])) {
start++;
}
while ((end > 0) && !isVowel(a[end])) {
end--;
}
if ((start > = end) || (start == a.length) || (end == -1)) {
return;
}
//swap start and end;
char t = a[start];
a[start] = a[end];
a[end] = t;
start++;
end--;
}
}