仔细观察匹配过程,我们发现第4行匹配过程中,当匹配到D时,虽然不匹配成功,但是我们是可以知道[D]元素前面的2个元素是[AB]和匹配串的前缀字符[AB]是匹配的,那我们之间比较第3个元素[C]就可以了,...A与D匹配失败,A对应next[0]值为-1,匹配串P整体后移一位,重新与字符串S匹配.
2....C与A匹配失败,C对应next[2]值为0,匹配串P将索引位置0的元素[A]移到不匹配位置,其他元素也随之移动,重新开始匹配
3....D与A匹配失败,D对应next[5]值为2,匹配串P将索引位置2的元素[C]移到不匹配位置,其他元素也随之移动,重新开始匹配
4....C与A匹配失败,C对应next[2]值为0,匹配串P将索引位置0的元素[A]移到不匹配位置,其他元素也随之移动,重新开始匹配
5.