请注意,在以下 222 行用于扩展的代码中:
if(i<=r) p[i]=min(p[(mid<<1)-i],r-i+1); while(st[i-p[i]]==st[i+p[i]]) p[i]++;
可能会越界。
所以数组长度应开到 2N2N2N。