**
KMP算法部分匹配表及代码图文解释——别找了,简单易懂,真良心
**
笔者今天看网课学习了KMP算法,懂了大致的思想后自己敲了一遍代码,de了几遍bug后发现没啥问题。然后去看了网课的标答,发现我的代码还是太low了,果然编程的精髓在于elegance,标答的代码非常简洁。在经过一番思考后,终于弄懂了这样做的妙处。
不多说了,直接上标答代码
public class KMPMatch {
public static void main(String[] args) {
String Str="ABCDABCABCDABDB";
String str="ABCDABD";
System.out.println(kmpMatch(Str,str));
}
//这个方法是对字符串进行匹配
public static int kmpMatch(String str1,String str2){
int[] next=getNext(str2);
for (int