目标串:s = "abcabcdababcdabcdabde"匹配串:t = "abcdabd"1、求出匹配串的next数组2、写出每一趟匹配的具体情况(失配时要表现出如何修改,成功匹配返回初始位置)
示例:s1 = "abcabcda"t1 = "abcda"第一步:t1的next数组为:abcda00001第二步:具体匹配情况第一趟:s0/t0s1 = "abcabcda"t1 = "abcd"失配,找到此时next[lbk]j-1[rbk]值为c->0,跳过字符数为0,移动位数为3-0=3此时i = 3,j = 0第二趟:s3/t0s1 = "abcabcda"t1 = " abcd"匹配成功,返回初始值i-j =7-4=3
示例:s1 = "abcabcda"t1 = "abcda"第一步:t1的next数组为:abcda00001第二步:具体匹配情况第一趟:s0/t0s1 = "abcabcda"t1 = "abcd"失配,找到此时next[lbk]j-1[rbk]值为c->0,跳过字符数为0,移动位数为3-0=3此时i = 3,j = 0第二趟:s3/t0s1 = "abcabcda"t1 = " abcd"匹配成功,返回初始值i-j =7-4=3