力扣之实现strStr()
本人用的是字符串切割
假设给的haystack
给的needle
图有点丑。。
可以看到haystack的长度为9,needle的长度为4
就和拼积木一样
我们只需要这样一个个的对准,看是否符合,如果到最后都不符合那肯定返回-1了
下面代码实现
先把两个长度取出来,方便代码书写
接下来遍历,至于为什么这里是len01-len02
让我们想想,其实不需要遍历完的
第一个出现重合的位置,最晚最晚也是在len01-len02这个位置,不会跑到最后的,超过这个的话,下面字符串切割都溢出了
下面就是切切切
从0到len02开始切,看是否和needle匹配,不匹配,往右移一下
一直到完全匹配为止
返回i,这里的i就是第一次出现的下标,如果到最后都匹配失败的话
返回-1