leetcode----345.反转元音字母(双指针)

反转字符串中的元音字母
Category Difficulty Likes Dislikes
algorithms Easy (48.18%) 64 -
Tags
two-pointers | string

Companies
google

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

示例 1:

输入: “hello”
输出: “holle”
示例 2:

输入: “leetcode”
输出: “leotcede”
说明:
元音字母不包含字母"y"。

#include
using namespace std;
class Solution {
public:
    string reverseVowels(string s) {
        if (s.size() == 0)
            return "";
        int i = 0, j = s.size()-1;
        while (i < j){
            if (s[i] == 'a' ||s[i] == 'e' ||s[i] == 'i' ||s[i] == 'o' ||s[i] == 'u'||s[i] == 'A' ||s[i] == 'E' ||s[i] == 'I' ||s[i] == 'O' ||s[i] == 'U')
            {
                if (s[j] == 'a' ||s[j] == 'e' ||s[j] == 'i' ||s[j] == 'o' ||s[j] == 'u'||s[j] == 'A' ||s[j] == 'E' ||s[j] == 'I' ||s[j] == 'O' ||s[j] == 'U'){
                    swap(s[i++],s[j--]);
                }
                else{
                    j--;
                }
            }
            else{
                i++;
            }
        }
        return s;
    }
};

你可能感兴趣的:(#,leetcode,算法题解)