next[]数组的定义:对于字符串s的第i个字符s[i],next[i]定义为字符s[i]前面最多有多少个连续的字符和字符串s从初始位置开始的字符匹配。
当然这是比较官方的说法,按照我的理解,设字符串长度为len 那么next[len-1] 表示的字符位置设为k,且满足s[k]==s[len-1]那么0到k这些字符即为最长前缀,通过递推的思想,我们能够发现,next[next[len-1]]若满足字符末尾相等的条件,为0~k的最长前缀
next[i]表示在i之前,最长的公共前缀后缀的长度
next[]数组的定义:对于字符串s的第i个字符s[i],next[i]定义为字符s[i]前面最多有多少个连续的字符和字符串s从初始位置开始的字符匹配。
当然这是比较官方的说法,按照我的理解,设字符串长度为len 那么next[len-1] 表示的字符位置设为k,且满足s[k]==s[len-1]那么0到k这些字符即为最长前缀,通过递推的思想,我们能够发现,next[next[len-1]]若满足字符末尾相等的条件,为0~k的最长前缀
next[i]表示在i之前,最长的公共前缀后缀的长度