代码随想录算法训练营第八天—344.反转字符串、541.反转字符串II、剑指Offer 05.替换空格、151.翻转字符串里的单词、剑指Offer58-II.左旋转字符串
344.反转字符串
- 可以用swap;
- 从两边开始替换;
- swap的两种写法。
541.反转字符串II
- reverse(s.begin() + i, s.begin() + i + k )
- if条件的先后会有影响
剑指Offer 05.替换空格
- 扩充数组到每个空格替换成"%20"之后的大小;
- 从后向前替换空格,也就是双指针法;
- s.resize(s.size() + count * 2);
151.翻转字符串里的单词
- 移除多余空格;
- 将整个字符串反转;
- 将每个单词反转;
- 双指针法移除元素。
剑指Offer58-II.左旋转字符串
- 局部反转+整体反转;
- 反转区间为前n的子串;
- 反转区间为n到末尾的子串;
- 反转整个字符串。