前几天一同学在群里问到KMP算求Next的值,想起了就写写吧。
void getNext(char *str){
k=0;
next[1]=0;
for(i=1;i<strlen(str);i++){
while(k&&str[i]!=str[k]) k=next[k];
if(str[i]==str[k]) k++;
next[i+1]=k;
}
}
其中K表示匹配次数
前几天一同学在群里问到KMP算求Next的值,想起了就写写吧。
void getNext(char *str){
k=0;
next[1]=0;
for(i=1;i<strlen(str);i++){
while(k&&str[i]!=str[k]) k=next[k];
if(str[i]==str[k]) k++;
next[i+1]=k;
}
}
其中K表示匹配次数