一、344.反转字符串
思路:双指针,左指针left和右指针right,一直交换它们两个的值,直到left==right跳出循环即可。

二、541. 反转字符串II
思路:反转的步骤其实是一样的,但是只是反转有了限制条件,只需要有一个i,让其2k,2k跳即可。

三、剑指Offer05.替换空格
思路:双指针的思路,一个是指向原来的字符串,一个是指向新的字符串,两个指针同时移动,当旧指针指向的不是空的时候,将其值给新指针指向的位置,当旧指针指向的位置为空的时候,将新指针及其后面两个位置换乘%20并将新指针往前移动三个,旧指针往前移动一格即可。

四、 151.翻转字符串里的单词
思路:这题具体的代码实现比较复杂。整体思路为首先去掉多余的空格,然后将单词反转最后将字符串整体反转。


五、剑指Offer58-II.左旋转字符串
思路:一种是前k个字符转,然后剩下的字符转,最后整体转。第二种是使用赋值法通过计算的到新的位置的值对应原来的位置。
博客介绍了多个字符串操作的算法思路。包括反转字符串用双指针交换值;反转字符串 II 让指针 2k 跳;替换空格用双指针,遇空格替换为 %20;翻转字符串里的单词先去空格,再反转单词和整体;左旋转字符串可分段反转或用赋值法。

被折叠的 条评论
为什么被折叠?



