Skip to content

Reverse vowels of a string

Tim_Gao edited this page Sep 16, 2016 · 1 revision
  1. don't forget upper case letters
public class Solution {
    private boolean isVowel(char ch){
        if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' || 
            ch == 'A' || ch == 'E' || ch == 'I' || ch == 'O' || ch == 'U'){
            return true;
        }
        return false;
    }
    public String reverseVowels(String s) {
        if (s==null || s.length()<2){
            return s;
        }
        int start = 0, end = s.length()-1;
        char[] str = s.toCharArray();
        while(start < end){
            while(start < end && !isVowel(str[start])){
                ++start;
            }
            while (start < end && !isVowel(str[end])){
                --end;
            }
            char tmp = str[start];
            str[start] = str[end];
            str[end] = tmp;
            ++start;
            --end;
        }
        return String.valueOf(str);
    }
}

Clone this wiki locally