LeetCode 344 | 反转字符串

本文探讨了LeetCode题目344,如何使用C++和Python的内置函数`reverse`原地反转字符串,同时介绍了两种不同的解决方案:直接调用STL函数和双指针技巧。两种方法对比,适合初学者理解字符串操作的高效方式。
摘要由CSDN通过智能技术生成

LeetCode 344 | 反转字符串

题目

在这里插入图片描述

题解

  1. 直接调用STL中reverse函数。
class Solution {
public:
    void reverseString(vector<char>& s) {
        reverse(s.begin(),s.end());
    }
};

说明:reverse函数在两个参数为需要反转的统一个容器内的两个迭代器。

  1. 双指针
    思路:题目要求原地修改,字符串反转其实就是对称位置的字符交换,靠一个临时变量交换前后指针值即可。
class Solution {
public:
    void reverseString(vector<char>& s) {
        int first=0,last=s.size()-1;
        while(first<last){
            auto ch=s[first];
            s[first++]=s[last];
            s[last--]=ch;
        }

    }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值