KMP

来源:互联网 发布:nginx rewrite 1 编辑:程序博客网 时间:2024/06/02 05:11
package com.blog;public class KmpTest {public static void main(String[] args) {//BBC ABCDAB ABCDABCDABDE//ABCDABDchar[] parent = new String("BBC ABCDAB ABCDABCDABDE").toCharArray();char[] son = new String("ABCDABD").toCharArray();int[] next = getnext(son);int i = 0;int j = 0;for (i = 0; i < parent.length; i++) {while (j > 0 && parent[i] != son[j]) {j = next[j-1];}     if (son[j] == parent[i]) {j++;}if (j == son.length) {System.out.println("find the result --->" + (i - j) + "--->" + parent[i - j] );break;}}}public static int[] getnext(char[] s) {int[] next = new int[s.length];int len;int i, j;len = s.length;i = 0;j = 0;while (i < len) {next[i] = j;System.out.println(i + "--->" + j);if (j == 0 || s[i] != s[j - 1]) {j = 0;}++i;++j;}return next;}}

原创粉丝点击