KMP字符串匹配算法和JDK

一般的朴素字符串匹配算法: 从目标串Target的第一个字符开始扫描,逐一与模式串的对应字符进行匹配,若该组字符匹配,则检测下一组字符 如遇失配,则退回到Target的第二个字符,重复上述步骤,直到整个Pattern在Target中找到匹配,或者已经扫描完整个目标串也没能够完成匹配为止 算法理解起来很简单,实现起来也容易,但是其中包含了过多不必要的操作,也就是在目标串中,有些字符是可以直接跳过,不必检测的 但是在特定的情况下,这样的算法还是有可优化的地方的. 不妨假设我们的目标串:Target = “a b c d e a b c d e a b c…