天天看点

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;
    }
};