力扣字符串
文章平均质量分 53
力扣当中有关字符串的题
llyLLY666
这个作者很懒,什么都没留下…
展开
-
力扣28 KMP算法找出字符串中第一个匹配项的下标
我们用一个for循环来遍历文本串,循环变量是i,循环里边,我们用一个j来代表模式串的下标,要是haystack[i]!在之后,我们在检查j的大小,要是j的大小等于needle的长度的话,就说明找到了这样一个符合要求的子串,我们就应该返回一个下标了,这个下标就应该是i-j+1。但是这样就不是这道题所要考察的地方,这道题想要考察的地方是KMP算法,KMP算法相较于暴力算法,它拥有更低的时间复杂度,他的时间复杂度是O(m+n),空间复杂度是O(m),因为需要额外申请一个next数组,存放最长相同前后缀的长度。原创 2024-09-03 17:59:20 · 468 阅读 · 0 评论 -
力扣541反转字符串II
暴力解法的思考过程:我们要返回一个字符串ret,ret初始化为空。再判断总共有多少个2k长度的字符串,就是s.size()/2/k,然后用变量i遍历这些字符串,然后对于第i个长度为2k的字符串,用substr函数取出其前k个长度的子串,存到临时的变量temp当中temp=s.substr(i*2*k,k),然后利用reverse函数反转一下temp,之后将temp加到ret上,再取出后k个字符串,不用反转直接加到ret上。对于剩下的长度不够2k的串,分情况,要是小于等于k,就直接反转,再加到ret上即可。原创 2024-09-02 21:27:16 · 224 阅读 · 0 评论