今天超级忙,东跑西跑的,做了紧急但不重要的事情,现在最重要的事情还是刷题和英语,一个是为了找工作,一个是为了申博。都11.2日了还没开始英语我不知道啥时候可以开始。每天锻炼是不能停的不然身体会坏坏。
潘总说我刷题找罪受,但我觉得确实对数据的理解多了。
一、Leetcode 344.反转字符串
双指针嗷,感觉字符串里的双指针操作还是比较多的。除了方法外无难度。
二、Leetcode 541. 反转字符串 II
这个规则模拟快把我绕晕了,
- 首先是学到了每2k个循环时,i += 2*k 这种写法;
- 还有if continue,意思是大多数情况执行if内的语句,少数情况执行if外的语句。
- 再就是本体本身是只有 [i, i + k)需要交换, [i + k, i + 2k) 不用交换。因此需要判断 [i, i + k) 是否 < size() 的问题。写不写等于都行反正取不到。
- 就是说看似简单,其实开写代码时候就开始犹豫。
三、剑指Offer 05.替换空格
复习了string容器的构造方法,
- 可以把原来的 s.resize(int newLength);
- 可以新构造一个 string s2(newLength, ’ ');
四、151. 反转字符串中的单词
很难这题。
- 首先要去除空格,这个去除逻辑是循环套循环,想不明白;
- 其次是反转套反转,先整体反转再局部反转
五、剑指 Offer 58 - II. 左旋转字符串
先局部反转再整体反转