这是一个生成 nxt 的函数。
nxt
void get_next(const string& s){ nxt[0]=0; int i=1,j=0; while(i<s.size()){ if(s[i]==s[j]){ j++; nxt[i++]=j; } else{ if(j==0){ nxt[i]=0; i++; } else j=nxt[j-1];//如果这里改成next[i-1]会爆 } } }
根据 nxt 和当前以匹配前后缀的性质感觉 j 变成 nxt[i-1] 更加正确?
是我的理解有问题吗?
求解 qwqqwqqwq