KMP模式匹配 一(串)
题目描述
求子串的 nextnextnext 值,用 next
数组存放,全部输出。
输入
输入一个字符串(字符串长度小于等于 100100100)。
输出
输出所有 nextnextnext 值。
#include<bits/stdc++.h>
using namespace std;
int n[110];
string st;
int main(){
cin>>st;
n[0]=-1;
n[1]=0;
int j=0,k=-1;
while(j<st.length()-1){
if(k==-1||st[j]==st[k]){
k++;
j++;
n[j]=k;
}
else{
k=n[k];
}
}
for(int i=0;i<st.length();i++){
cout<<n[i]<<" ";
}
return 0;
}