【字符串】相关类型题目整理[三]

本文整理了力扣344题与541题及剑指Offer 58-II的字符串反转问题。针对每个题目,详细介绍了不同解法,包括时间、空间复杂度为O(N)的反转、原地反转、模拟子串反转以及通过STL和三次反转等策略。所有解决方案均提供了代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、力扣344. 反转字符串

在这里插入图片描述

(一)时间、空间复杂度都为O(N)

思路:我们先不管题目要求,用一个额外数组来进行反转

代码如下:

class Solution 
{
   
public:
    void reverseString(vector<char>& s) 
    {
   
        int n=s.size();
        vector<char> vec(n,'0');
        int j=0;
        for(int i=s.size()-1;i>=0;i--)
        {
   
            vec[j++]=s[i];
        }
        for(int i=0;i<s.size();i++)
        {
   
            s[i]=vec[i];
        }
    }
};

(二)原地反转

思路:按照题目要求不能使用额外的空间,只能在原地修改

代码如下:

class Solution 
{
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值