Skip to content

Latest commit

 

History

History
12 lines (8 loc) · 398 Bytes

File metadata and controls

12 lines (8 loc) · 398 Bytes

kmp 算法是用来查找子串的位置的。

它记录了一个数组next, next存储了已经匹配好的原串前N个字符的最长相同前后缀的长度。

设原串为S,子串为M 判断条件是:

  • 当S[i] == M[j] 时 next[i] = next[i-1]+1
  • 当S[i] !== M[j] 时,递归查询更短的最长相同前后缀

参考链接