public class Vowel {
public static void main(String[] str) {
String originalstring = "MODERNPATHSHALA";
String reversedString = reverseVowels(originalstring);
System.out.println(originalstring + " after vowels reversed = " + reversedString);
}
public static String reverseVowels(String originalstring) {
if (originalstring == null || originalstring.length() < 2)
return originalstring;
int len = originalstring.length();
int i = 0;
int j = len - 1;
char[] array = originalstring.toCharArray();
while (i < j) {
while (i < j && !isVowel(array[i]))
i++;
while (j > i && !isVowel(array[j]))
j--;
swap(array, i, j);
i++;
j--;
}
return String.valueOf(array);
}
public static boolean isVowel(char c) {
switch (c) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
return true;
default:
return false;
}
}
public static void swap(char[] arr, int i, int j) {
char tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
No comments:
Post a Comment