Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int n = s.length();
- int[] p = new int[n + 1];
- p[0] = -1;
- for (int i = 0; i < n; i++) {
- int k = p[i];
- char c = s.charAt(i);
- while ((k >= 0) && (s.charAt(k) != c)) {
- k = p[k];
- }
- p[i + 1] = k + 1;
- }
- p = [-1]
- k = -1
- for c in s:
- while k >= 0 and s[k] != c:
- k = p[k]
- k += 1
- p.append(k)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement