1.位于第一个
一定是0
2.对于第j个
考虑第j个之前的长度为j-1的串s,找到s最长的相同真前缀子串和后缀字串的长度k,那么这个next[j]就是k+1
比如说s==abbab,那么有公共的前后字串ab,长度为2,那么next[6]就是2+1=3
3.找不到2中的情况
为1
举个例子:
12345678
abaabcac
对于1:根据1:是0
对于2:没有匹配的,根据3:是1
对于3:没有匹配的,根据3:是1
对于4:根据2:有公共的a:所以是2
对于5:有公共的a:所以是2
对于6:有公共的ab:所以是3
对于7:没有匹配的,根据3:是1
对于8:有公共的a:所以是2