单纯方便自己记忆查看,如有想要详细了解实现原理的,建议查看代码随想录:字符串_6.实现strStr()
获取前缀表next[]代码:
private void getNext(int[] next, String s) {
int j = 0;
next[0] = 0;
for (int i = 1; i < s.length(); i++) {
while (j > 0 && s.charAt(j) != s.charAt(i))
j = next[j - 1];
if (s.charAt(j) == s.charAt(i))
j++;
next[i] = j;
}
}