table building for kmp algorithm.
(w string)
| 34 | |
| 35 | // table building for kmp algorithm. |
| 36 | func table(w string) []int { |
| 37 | var ( |
| 38 | t []int = []int{-1} |
| 39 | k int |
| 40 | ) |
| 41 | for j := 1; j < len(w); j++ { |
| 42 | k = j - 1 |
| 43 | for w[0:k] != w[j-k:j] && k > 0 { |
| 44 | k-- |
| 45 | } |
| 46 | t = append(t, k) |
| 47 | } |
| 48 | return t |
| 49 | } |