LeetCode 75 第五题(345)反转字符串中的元音字母

题目:

示例:

分析:

给一个字符串,将里面的元音字母反转,并且保持非元音字母不变(包括顺序).

字符串反转类型的题,我们都可以使用双指针来解决:定义首尾指针,分别向中间靠拢,直到首尾指针都指向了元音字母,然后交换首尾指针所指的字母,如此不会影响到非元音字母,同时也将元音字母反转了.

代码+结果如下:

cpp 复制代码
class Solution {
public:
    //判断是否为元音字母
    bool isY(char c){
        if(c=='a'||c=='A'||c=='e'||c=='E'||c=='i'||c=='I'||c=='o'||c=='O'||c=='u'||c=='U'){
            return true;
        }
        return false;
    }
    string reverseVowels(string s) {
        int l=0;
        int r=s.size()-1;
        //双指针寻找首尾元音字母
        while(l<r){
            while(l<r&&!isY(s[l])) ++l; //左指针向右寻找元音字母
            while(l<r&&!isY(s[r])) --r; //右指针向左寻找元音字母
            char temp=s[l];
            s[l]=s[r];s[r]=temp;
            ++l;--r;            
        }
        return s;
    }
};
相关推荐
扶尔魔ocy13 分钟前
【QT C++】常用设计模式
c++·设计模式
晚风予卿云月19 分钟前
【C++高并发内存池】 2.ThreadCache设计
开发语言·c++·高并发内存池·tcmalloc
郝学胜-神的一滴1 小时前
游戏设计:原型与开发 19:U3D工位布置与性格说明书
人工智能·算法·unity·unreal engine·游戏策划·游戏设计
東隅已逝,桑榆非晚1 小时前
红黑树:从概念到实现
数据结构·c++·笔记·学习
艾莉丝努力练剑2 小时前
【AI大模型接入SDK】ChatServer接口测试
网络·c++·人工智能·学习·ai·大模型·sdk
D e re k ZH2 小时前
C++ 模板与泛型编程进阶(No 2)
开发语言·c++
hahaha60162 小时前
数字图像时域滤波或者3D降噪算法FPGA实现
算法·计算机视觉·fpga开发
文丑颜不良啊2 小时前
LeetCode1541~1560题目解析
java·leetcode
YSL0701242 小时前
一文通关-----树和二叉树
数据结构·算法
青少儿编程课堂2 小时前
蓝桥杯青少组图形化+信息素养+电子学会Scratch考级:校园口算闯关解析
c++·python·算法·bfs·信息学竞赛