用 memset 初始化整个数组的请注意,
memset 虽然效率很高,
但是 3e6×(26+26+10)×32×1e5×164=9,300,000,000,0003e6\times (26+26+10)\times 32\times 1e5\times\frac{1}{64}=9,300,000,000,0003e6×(26+26+10)×32×1e5×641=9,300,000,000,000
其中 3e6×(26+26+10)3e6\times(26+26+10)3e6×(26+26+10) 是数组大小, 323232 是一个 int 占的空间, 1e51e51e5 是 memset 次数, 646464 是机器字长。
由于每次新增的节点个数(记为 cnt)大部分情况下远小于输入字符串的总长度(3e63e63e6),
所以每次只要对数组第一个维度的前 cnt 个进行 memset,就行了。