Leetcode214--最短回文串题解(KMP算法和Manacher算法)
原题链接:https://leetcode-cn.com/problems/shortest-palindrome/
很显然的,这道题可以转化为求最长前缀回文子串的问题。得到该子串后,只需要将字符串s的剩余部分翻转并拼接到s的最前面即可得最短回文串。
接下来我们尝试用两种方法来解决这个问题。
方法1:KMP算法
设s中的最长前缀回文子串为s1,将s进行翻转得到s’,则s1’为s’的最长后缀回文子串。由回文串的性质可知s1 = s1’。
将s作为模式串,s’作为目标串进行匹配。当遍历到s’的末尾时,如果匹配到
原创
2020-11-11 10:15:48 ·
230 阅读 ·
0 评论