private static int[] CalNext(String target) {
		int[] next = new int[target.length()];
		next[0] = -1;
		int k = -1;
		int i = 0;
		while (i < target.length() - 1) {
			// p[i]==p[k]ǰ׺׺ȶ1Ȼȣônext[i+1]=k+1
			if (k == -1 || target.charAt(i) == target.charAt(k)) {
				next[++i] = ++k;
			} else {
				k = next[k];
			}
		}
		return next;
	}