28.KMP算法--leetcode

前缀:是指不包含最后一个字符的所有以第一个字符开头的连续字串

后缀:是指不包含第一个字符的所有以最后一个字符结尾的连续字串

j的值就是最长公共前后缀的值!!!

所以在方法的最后next[i] = j

最后返回的是

if (j == needle.length()) {
                
                return i - needle.length() + 1;
            }

此时模式串和文本串是右侧对齐的

所以直接用

return i - needle.length() + 1;

 

posted @ 2024-03-24 17:16  翻斗花园小美Q  阅读(1)  评论(0编辑  收藏  举报