//S是要被匹配的串,s是用来匹配的串
//求出S串中有多少s
//getnext()
int cnt=0;
next[0]=-1;
for(int i=0;s[i];i++)
{
int k=next[i];
while(k>=0&&s[i]!=s[k]) k=next[k];
next[i+1]=k+1;
}
for(int i=0,j=0;S[i])
{
if(S[i]==s[j]||j<0)
{
i++;j++;
if(!s[j]) cnt++;
}
else j=next[j];
}
KMP算法(模板)
猜你喜欢
转载自blog.csdn.net/b_r_e_a_d/article/details/81258503
今日推荐
周排行