一、求模式串google的next数组(手算练习)
- next数组的作⽤:当模式串的第
j
个字符失配时,从模式串的第next[j]
的继续往后匹配 - 当第1个元素匹配失败时,
next[1]=0
,任何模式串都一样,第一个字符不匹配时,只能匹配下一个子串,因此,next[1]都无脑写0
- 当第2个元素匹配失败时,
next[2]=1
,任何模式串都一样,第2个字符不匹配时,应尝试匹配模式串的第1个字符,因此,next[2]都无脑写1
- 当第3个元素匹配失败时,此时j指向哪儿,next数组就是多少。在不匹配的位置前边,划一根美丽的分界线;模式串一步一步往后退,直到分界线之前“能够对上”,或模式串完全跨过分界线为止
- 当第4个元素匹配失败时,此时j指向哪儿,next数组就是多少。在不匹配的位置前边,划一根美丽的分界线;模式串一步一步往后退,直到分界线之前“能够对上”,或模式串完全跨过分界线为止
- 当第5个元素匹配失败时,此时j指向哪儿,next数组就是多少。在不匹配的位置前边,划一根美丽的分界线;模式串一步一步往后退,直到分界线之前“能够对上”,或模式串完全跨过分界线为止
- 当第6个元素匹配失败时,此时j指向哪儿,next数组就是多少。在不匹配的位置前边,划一根美丽的分界线;模式串一步一步往后退,直到分界线之前“能够对上”,或模式串完全跨过分界线为止