Leetcode 345. 反转字符串中的元音字母 C++

    技术2022-07-11  99

    Leetcode 345. 反转字符串中的元音字母

    题目

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

    测试样例

    示例 1:
    输入: "hello" 输出: "holle"
    示例 2:
    输入: "leetcode" 输出: "leotcede"
    说明:

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

    题解

    双指针,头尾指针找元音字母,交换即可。详细过程见代码

    代码

    bool isY(char x){ if(x>='A' && x<='Z') x += 'a'-'A'; return x=='a' || x=='e' || x=='i' || x=='o' || x=='u'; } string reverseVowels(string s) { int i=0,j=s.length()-1; while(i < j){ if(isY(s[i]) && isY(s[j])){ swap(s[i],s[j]); i++; j--; }else if(isY(s[i])){ j--; }else if(isY(s[j])){ i++; }else{ i++; j--; } } return s; }

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

    Processed: 0.015, SQL: 9