代码随想录day 10 | 翻转字符串里的单词 | 右旋字符串

翻转字符串里的单词

翻转字符串里的单词

解题思路

先反转整个字符串,再消去多余的空格,最后再一个单词一个单词反转。消去多余的空格和找到单词则是使用快慢指针来解决

知识点

字符串,快慢指针

心得

我的思路是使用了快慢指针找到空格,然后用栈

题目2

右旋字符串

解题思路

跟前一题相似,将整个数组进行翻转,然后两个子段再分别反转就行

知识点

字符串 快慢指针

心得

我这道题用了两个数组,但是发现还是官方的解答方式最快,空间占有率最小

题目3

实现 strStr()

解题思路

通过kmp算法来进行两个字符串的匹配,KMP算法的流程是先创建一个next数组用来存储一个字符串中的每一个子串的最长相等前后缀,该数组又称为前缀表,随后两个字符串同时遍历,当遇到不匹配的时候根据前缀表找到相应的位置,从那个位置开始遍历

知识点

KMP算法

心得

较为复杂的一个算法,需要多多研究

posted @ 2024-06-30 02:01  不进育碧不改名  阅读(222)  评论(0编辑  收藏  举报