
//完整KMP算法
public class KMP2 {
public static void main(String[] args) {
KMP2 obj = new KMP2();
String str1 = "askanfasdnabcdassabefafdfsd";
String str2 = "abcdassabe";
//1.求解next数组
int[] next = new int[str2.length()];
obj.getNext(str2.toCharArray(), next);
//2.模式匹配成功返回索引 失败-1
int index = obj.getKMP(str1.toCharArray(),str2.toCharArray(),next);
System.out.println(index);
}
//方法2 kmp匹配,类似bf算法
private int getKMP(char[] str1, char[] str2, int[] next) {
int m = 0; //指向str1
int n = 0; //指向str2
while (m欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)