前提:在字符串Q中找子串P

1.写出P的所有长度<P的子串
2.分别找出P的子串的最长公共前后缀(注意:前后缀不是回文)
3.求子串的前缀表prefix table,最前边补-1,然后逐次和子串元素对应
注:前缀表每项均+1即为next[]数组
4.从头进行比较,记录比较出错的位置的前缀表,把(数组下标==该前缀表元素)的数与出错位置对齐。
5.此后比较一旦出错,均采取步骤二的做法。

代码如下: