【答案解析】[解析] 考查串的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。
