单选题 串"acaba"的next数组值为______。
【正确答案】 C
【答案解析】[解析] 考查串的next数组。
(1)设next[1]=0,next[2]=1。
编号 1 2 3 4 5
S a c a b a
next 0 1
(2)当j=3,此时k=next[j-1]=next[2]=1,观察S[2]与S[k](S[1])是否相等,S[2]=c,S[1]=a,S[2]!=S[1],此时k=next[k]=0,所以next[j]=1。

(3)当j=4,此时k=next[j-1]=next[3]=1,观察S[3]与S[k](S[1])是否相等,S[3]=a,S[1]=a,S[2]=S[1],所以next[j]=k+1=2。

(4)当j=5,此时k=next[j-1]=next[4]=2,观察S[4]与S[k](S[2])是否相等,S[4]=b,S[2]=c,S[4]!=S[2],所以k=next[k]=1。

(5)此时S[k]=S[1]=a,S[4]!=S[1],所以k=next[k]=next[1]=0,所以next[j]=1。