其中oiwiki的代码:
for (i = 1, k = 0; i <= n; ++i) { if (rk[i] == 0) continue; if (k) --k; while (s[i + k] == s[sa[rk[i] - 1] + k]) ++k; height[rk[i]] = k; }
在==0的时候直接continue掉了,也就是说=0的下一位他所用到的k是=0的上一位的值,之间相隔了2个位置,这样还对吗?