栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

字符串专题

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

字符串专题

力扣

反转字符串                      (简单题)
class Solution {
public:
     //双指针法,参考反转链表思想
    void reverseString(vector& s) {
     for(int i=0,j = s.size() - 1;i < s.size()/2 ;i++,j--)
     {
         swap(s[i],s[j]);
     }
    }
};

力扣

反转字符串2,(难度稍微提升)

思路:

本题的关键在于,寻找前2k个 的前k个反转的判断边界表达。

我们只需要对 for 循环遍历的时候稍加思考: 

 让 i += (2*k) ,遍历的时候 i  每次移动2k 个位置,再判断是否需要反转区间就行。

class Solution {
public:
    string reverseStr(string s, int k) {
     for(int i = 0;i < s.size() - 1; i += (2*k))
     {
         if(i+k <= s.size())
         {
           reverse(s.begin()+i,s.begin()+i+k);
         }
         reverse(s.begin()+i,s.begin()+s.size());
     }
     return s;
    }
};

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/779037.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号