代码随想录算法训练营第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. 左旋转字符串

先局部反转再整体反转

你可能感兴趣的:(刷题,leetcode)