解题思路:
注意事项:
参考代码:
#include <stdio.h>
#include <string.h>
int main (){
char a[100];
int next[100];
next[0]=-1;
int i=0,j=-1;
gets(a);
while (i<strlen(a)){
if (j==-1||a[i]==a[j]){
i++;
j++;
next[i]=j;
}else{
j=next[j];
}
}
for (int k=0;k<i;k++){
printf ("%d ",next[k]+1);
}
}
0.0分
0 人评分