KMP算法用来求单模式串匹配。
简单来说,你需要给你的模式串计算一个 (nxt) 数组,使得 (nxt[i]) 是长度为 (i) 时的最长公共前后缀。
匹配到文本串的一个位置 (i) 时,相当于把文本串长度为 (i) 的前缀拿出来,找它的最长后缀(前缀的后缀即是子串)使得能与模式串的某个前缀匹配,理解了这个之后 (nxt) 数组的含义以及用法应该就明朗了。