【力扣每日一题】2023.8.7 反转字符串

目录

题目:

示例:

分析:

代码:


题目:

示例:

分析:

题目给我们一个字符数组形式的字符串,让我们直接原地修改反转字符串,不必返回。

给出的条件是使用O(1)的额外空间来对输入数字进行原地修改。

那么这道题是非常经典的双指针应用的题目,我们定义两个指针别分指向数组的开头和结尾,在左右指针相遇之前,交换两个指针所指的元素,然后左指针右移,右指针左移,直到两个指针相遇,我们就将字符串反转了。

代码:

cpp 复制代码
class Solution {
public:
    void reverseString(vector<char>& s) {
        //使用STL算法
        //reverse(s.begin(),s.end());

        //双指针
        int l=0,r=s.size()-1;
        while(l<r){
            char t=s[l];
            s[l]=s[r];
            s[r]=t;
            ++l,--r;
        }

        //双指针另类写法
        // for(int i=0;i<s.size()/2;i++){
        //     char t=s[i];
        //     s[i]=s[s.size()-i-1];
        //     s[s.size()-i-1]=t;
        // }
    }
};
相关推荐
Swift社区6 分钟前
LeetCode 449 - 序列化和反序列化二叉搜索树
算法·leetcode·职场和发展
charlie11451419110 分钟前
深入理解CC++的编译与链接技术9:动态库细节
c语言·开发语言·c++·学习·动态库
isyoungboy17 分钟前
c++使用win新api替代DirectShow驱动uvc摄像头,可改c#驱动
开发语言·c++·c#
CoderYanger22 分钟前
贪心算法:3.最大数
java·算法·leetcode·贪心算法·1024程序员节
lxmyzzs22 分钟前
【图像算法 - 37】人机交互应用:基于 YOLOv12 与 OpenCV 的高精度人脸情绪检测系统实现
算法·yolo·人机交互·情绪识别
muyouking1123 分钟前
Zig 语言实战:实现高性能快速排序算法
算法·排序算法
世转神风-27 分钟前
qt-windows用户点击.exe,报错:缺少libgcc_s_seh-1.dll
c++·qt
CoderYanger28 分钟前
贪心算法:5.最长递增子序列
java·算法·leetcode·贪心算法·1024程序员节
慕容青峰31 分钟前
【牛客周赛 107】E 题【小苯的刷怪笼】题解
c++·算法·sublime text
算法熔炉36 分钟前
深度学习面试八股文(2)——训练
人工智能·深度学习·算法