KMP算法(java实现)

next数组的求解:

求next数组的方法与这位大佬一样,感兴趣的同学自己去看吧。--->next数组的求解过程

代码实现:

直接上根据这个方法我写的kmp 

package suanfaTest;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class KMP01 {
    public static int i=0,j=0;
    public static int[] kmpNext(String ps){//Next数组
        List nxt = new ArrayList();
        int[] a = new int[ps.length()];//Next数组的长度为模板串的长度
        int len = ps.length();
        if (len == 0){
            return null;
        }else if (len == 1){
            nxt.add(0);
            for (int i=0; i

 

你可能感兴趣的:(算法)