首先对于KMP 算法 和 字符串还有双指针的总结放在周天写一篇长的
自己Mark一下
单独去反转单词有几步
1.去掉所有的空格
这里的逻辑其实是双指针,slow用来记录之后输出的字符串究竟重新记录到了什么位置
在for loop中,如果当前字符不为' ',说明读到了要记录的部分
如果当前slow指针不在开头 需要补上一个‘ ’,原因是下面while的部分,其实是在更新一个单词
每次更新完最后slow指针会停在单词的下一个位置,所以在单词间是要加上‘ ’的。
2.反转
比较简单,昨天的内容
3.反转整个字符串
用start指针记录单词的开头位置
在一个单词反转完毕后 start移动到i+1的位置 也就是下一个单词的开头
属于是脑筋急转弯
三步走
1.反转前len - n个
2.反转后n个
3.反转全部
Over!
再提醒自己一次周天总结KMP!