kmp的书写

不修正的kmp书写

while(i<n)
{
if(j==-1||a[i]==a[j])
{
i++,j++;
// if(a[i]==a[j])next[i]=next[j];
// else next[i]=j;
next[i]=j;
}
else j=next[j];
}

修正的kmp书写

while(i<n)
{
if(j==-1||a[i]==a[j])
{
i++,j++;
 if(a[i]==a[j])next[i]=next[j];
else next[i]=j;
}
else j=next[j];
}

当查询一个字符串是有

原文地址:https://www.cnblogs.com/woyaocheng/p/4943758.html