糖逗 发表于 2020-12-29 18:40:17

C++刷LeetCode(345. 反转字符串中的元音字母)【双指针】

题目描述:
编写一个函数,以字符串作为输入,反转该字符串中的元音字母。

 

示例 1:

输入:"hello"
输出:"holle"
示例 2:

输入:"leetcode"
输出:"leotcede"
 

提示:

元音字母不包含字母 "y" 。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-vowels-of-a-string
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。



class Solution {
private:
    vector<char>store = {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'};
public:
    string reverseVowels(string s) {
      //双指针
      int left = 0, right = s.size()-1;
      int len = s.size();
      while(left < right){
            char temp1 = s;
            if(std::find(store.begin(), store.end(), temp1) != store.end()){
                char temp2 = s;
                while(left < right && std::find(store.begin(), store.end(), temp2) == store.end()){
                  right--;
                  temp2 = s;
                }
                swap(s, s);
                right--;
            }
            left++;
      }
      return s;
    }
};

糖逗 发表于 2020-12-30 13:19:06

本帖最后由 糖逗 于 2020-12-30 17:29 编辑

{:10_327:}
页: [1]
查看完整版本: C++刷LeetCode(345. 反转字符串中的元音字母)【双指针】