首先我们可以想到的是,既然求的是前缀的长度,就意味着一定是从1开始的,那么我们可以直接用下 标表示每一个前缀.但是可能存在几个前缀互相包含的情况,比如:abababa我们可以看见的是aba中包含着ab和aabab中包含着aba, ab和a从上面我们能观察出一个性质来:将原字符串自匹配后,扫描到字符i时,next[i]存的是他的一个最近的子前缀结尾点我们想为什么会这样呢?加入某个结尾为i的前缀包含着结尾为j的前缀,那么就说明,由前缀j在扩展时扩展失败了,那么next[i]就等于j这样我们就能够快速…