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];
}

 

 

当查询一个字符串是有

posted @ 2015-11-06 22:01  大领主  阅读(147)  评论(0编辑  收藏  举报