实现 strStr() && KMP算法引入

题目:

  实现 strStr() 函数。

  给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回  -1 。

 

思路:

  1 暴力匹配

  2 KMP 算法

 


 

(一)暴力匹配代码 

  1 for - for

  

  2 for - while

  

 

 


 

(二)KMP算法

    核心字段: 

      模式串,不匹配,(主串,模式串)公共前后缀

      最长公共前后缀+1位(下标从一开始)  与  主串当前位进行比较

      如下图:

           最长公共前后缀为ABA

        最长公共前后缀需要小于指针前的匹配串

                      

       


 

 

 

    今天必须搞定KMP算法

 

posted @ 2021-05-16 19:57  朝才  阅读(41)  评论(0)    收藏  举报