代码随想录day 10 | 翻转字符串里的单词 | 右旋字符串
翻转字符串里的单词
解题思路
先反转整个字符串,再消去多余的空格,最后再一个单词一个单词反转。消去多余的空格和找到单词则是使用快慢指针来解决
知识点
字符串,快慢指针
心得
我的思路是使用了快慢指针找到空格,然后用栈
题目2
解题思路
跟前一题相似,将整个数组进行翻转,然后两个子段再分别反转就行
知识点
字符串 快慢指针
心得
我这道题用了两个数组,但是发现还是官方的解答方式最快,空间占有率最小
题目3
解题思路
通过kmp算法来进行两个字符串的匹配,KMP算法的流程是先创建一个next数组用来存储一个字符串中的每一个子串的最长相等前后缀,该数组又称为前缀表,随后两个字符串同时遍历,当遇到不匹配的时候根据前缀表找到相应的位置,从那个位置开始遍历
知识点
KMP算法
心得
较为复杂的一个算法,需要多多研究