沈泽宇 • 21天前
using namespace std; char a[1000005]; int len,j=0,p[100005]; int main() {
cin>>(a+1);
len=strlen(a+1);
for(int i=2;i<=len;i++)
{
while(j&&a[j+1]!=a[i])
{
j=p[j];
}
if(a[j+1]==a[i])
{
j++;
}
p[i]=j;
}
for(int i=1;i<=len;i++)
{
cout<<p[i];
}
return 0;
}
评论: