next数组:
要搞懂kmp算法,首先要了解next数组
那么,next数组到底是求什么的呢?
举个例子,有一个字符串abcabdabc,
要求它的最长的相同前缀后缀。
所谓前缀,就是包含了首字母的字符串字串;
所谓后缀,就是包含了末尾字母的字符串字串。
所以啊,这个abcabdabc的最长的相同前缀后缀呢,显然是abc这个字串,长度为3.
而这个字符串的next数组是什么意思呢?:
next[0],就是求a的最长相同前缀后缀,并把长度存储进next数组;
next[1],就是求ab的最长相同前