代码随想录算法训练营第8天 | 344.反转字符串 541. 反转字符串II 剑指Offer 05.替换空格

今天超级忙,东跑西跑的,做了紧急但不重要的事情,现在最重要的事情还是刷题和英语,一个是为了找工作,一个是为了申博。都11.2日了还没开始英语我不知道啥时候可以开始。每天锻炼是不能停的不然身体会坏坏。
潘总说我刷题找罪受,但我觉得确实对数据的理解多了。

一、Leetcode 344.反转字符串

双指针嗷,感觉字符串里的双指针操作还是比较多的。除了方法外无难度。

二、Leetcode 541. 反转字符串 II

这个规则模拟快把我绕晕了,

  1. 首先是学到了每2k个循环时,i += 2*k 这种写法;
  2. 还有if continue,意思是大多数情况执行if内的语句,少数情况执行if外的语句。
  3. 再就是本体本身是只有 [i, i + k)需要交换, [i + k, i + 2k) 不用交换。因此需要判断 [i, i + k) 是否 < size() 的问题。写不写等于都行反正取不到。
  4. 就是说看似简单,其实开写代码时候就开始犹豫。

三、剑指Offer 05.替换空格

复习了string容器的构造方法,

  1. 可以把原来的 s.resize(int newLength);
  2. 可以新构造一个 string s2(newLength, ’ ');

四、151. 反转字符串中的单词

很难这题。

  1. 首先要去除空格,这个去除逻辑是循环套循环,想不明白;
  2. 其次是反转套反转,先整体反转再局部反转

五、剑指 Offer 58 - II. 左旋转字符串

先局部反转再整体反转

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值