程式語言 - LeetCode - CPP - 345. Reverse Vowels of a String



題目:


解答:

class Solution {
public:
    bool is_vowel(char c) {
        c = tolower(c);
        return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';
    }

    string reverseVowels(string s) {
        int l = 0;
        int r = s.size() - 1;

        while (l < r) {
            while (l < r && !is_vowel(s[l])) l++;
            while (l < r && !is_vowel(s[r])) r--;

            swap(s[l], s[r]);
            l++;
            r--;
        }

        return s;
    }
};