前后缀匹配问题kmp

首先A和B合并他们一定是首尾重叠相连,要求合并后字典序最小,所以当合并后串长度一样时,我们要把A或B中字典序小的放在前面。

       然后计算A的后缀和B的前缀匹配长度为len1,计算A的前缀和B的后缀匹配长度为len2。

       如果len1大,那么就把A放前面。如果len2大,那么就把B放前面。
这样才保证了长度最小啊
这个题return的位置不同于判断子串问题,这个是获取匹配的长度,注意return 的条件是i==n-1即可,而不是j==m即是子串问题,return 的是匹配串长度

猜你喜欢

转载自blog.csdn.net/lanshan1111/article/details/84867302