天天看點

LeetCode_345_反轉字元串中的元音字母

題目描述:編寫一個函數,以字元串作為輸入,反轉該字元串中的元音字母。

輸入示例1:
輸入: "hello"
輸出: "holle"
輸入示例2:
輸入: "leetcode"
輸出: "leotcede"      
class Solution {
public:
    string reverseVowels(string s) {
        set<char> Set={'a','e','i','o','u','A','E','I','O','U'};
        int i=0,j=s.size()-1;
        while(i<j){
            while(i<j&&!(Set.find(s[i])!=Set.end()))//find函數傳回指針類型,沒找到則會傳回指向尾部的指針
                i++;
            while(i<j&&!(Set.find(s[j])!=Set.end()))
                j--;
            swap(s[i],s[j]);//完成交換後,需要将i和j都更新,指向下一個字元
            i++;
            j--;
        }
        return s;
    }
};