string s;
cin>>s;
int len=s.size();
s=" "+s;
ne[1]=0;
for(int i=2;i<=len;i++)
{
int j=ne[i-1];
while(j>0&&s[i]!=s[j+1]) j=ne[j];
if(s[i]==s[j+1])
{
ne[i]=j+1;
}
}
kmp模板
最新推荐文章于 2024-06-15 23:36:03 发布
string s;
cin>>s;
int len=s.size();
s=" "+s;
ne[1]=0;
for(int i=2;i<=len;i++)
{
int j=ne[i-1];
while(j>0&&s[i]!=s[j+1]) j=ne[j];
if(s[i]==s[j+1])
{
ne[i]=j+1;
}
}