LeetCode/solutions/345. Reverse Vowels of a String.md

756 B
Raw Blame History

345. Reverse Vowels of a String

思路

翻转字符串中的元音字母即A、E、I、O、U、a、e、i、o、u。常规题

C++

class Solution {
private:
    bool isVowel(char c){
        if('A' <= c && c <= 'Z') c = c - 'A' + 'a';
        if(c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') return true;
        return false;
    }
public:
    string reverseVowels(string s) {
        int low = 0, high = s.size() - 1;
        while(low < high){
            while(low < high && !isVowel(s[low])) low++;
            while(low < high && !isVowel(s[high])) high--;
            if(low < high) swap(s[low++], s[high--]);
        }
        return s;
    }
};