代码1:i 从 1 开始
#include<iostream>
using namespace std;
const int maxn=8;//输入的字符个数
int main()
{
int i,j;
int next[10];
char t[100];
for(i=1;i<=maxn;i++)
cin>>t[i];
i=1; next[1]=0; j=0;
while(i<=maxn)
{
if(j==0 ||t[i]==t[j])
{
i++;
j++;
next[i]=j;
}
else
j=next[j];
}
for(i=1;i<=maxn;i++)
cout<<next[i]<<' ';
cout<<endl;
return 0;
}
代码2:i 从 0 开始
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int i,j;
int next[10];
char t[100];
cin>>t;
i=0; next[0]=-1; j=-1;
while( i<strlen(t) )
{
if(j==-1 ||t[i]==t[j])
{
i++;
j+&#