345. Reverse Vowels of a String


做题历程:

  1. 应该做了不止两次了,本次大概耗时8分钟,独立解出

本题难度算是比较低的,就是用双指针分别从左右两遍扫描即可,代码如下:

class Solution {
public:
    string reverseVowels(string s) {
        int left = 0;
        int right = s.length() - 1;
        while (left < right) {
            if (tolower(s[left]) != 'a' && tolower(s[left]) != 'e' && tolower(s[left]) != 'i' && tolower(s[left]) != 'o' && tolower(s[left]) != 'u') {
                ++left;
            }
            else if (tolower(s[right]) != 'a' && tolower(s[right]) != 'e' && tolower(s[right]) != 'i' && tolower(s[right]) != 'o' && tolower(s[right]) != 'u') {
                --right;
            }
            else {
                swap(s[left++], s[right--]);
            }

        }
        return s;
    }
};

results matching ""

    No results matching ""