设文本串为
\(s\),长度为
\(n\);模式串为
\(t\),长度为
\(m\)

预处理一个
\(next\) 数组,对于
\(next[i]\),它表示在
\(t\) 的前
\(i\) 个字母中,最长公共前后缀的长度。

什么意思呢?我们举个栗子:

比如
\(t\)
\(ababaca\),则对应的
\(next\) 数组如下所示: