#include <iostream>
void string::genNext(int* next){
int len = this->getlength();
next[0] =-1;
next[1] = 0;
int j =2;
int k = 2;
while (j<=len) {
if(k==-1 || s[j-1]==s[k]) {
j++;
k++;
if(s[j-1]==s[k]) {
next[j-1] = next[k];
} else{
next[j-1] =k;
}
}
else {
k =next[k];
}
}
}
int main(){
String s,ss;
s = "bbbb";
ss = "bbbba";
int idx = s.index_KMP(ss);
zout<<"index:"<<idx<<endl;
return 0;
}