用于子串的匹配问题
串A中是否包含串B
暴力匹配
kmp
构建next数组,前缀匹配后缀的长度。
在匹配失败的时候根据next[i]的值进行跳跃式前进。
为什么要使用next进行前缀匹配后缀?
红色a之前的绿色字符串abab是匹配成功的,假如说按照暴力法来解题,过程如下,实际上暴力解法的过程就是一个最长前缀和后缀匹配的过程,kmp只是进行了预处理,计算出最终位置而已,从而节省大量的无用的匹配过程。