问题描述:求给定字符串的最长回文子串,比如输入字符串 "google”,该字符串的回文子串有"oo"和”goog",因此输出“goog"。
解决思路:反转字符串后求反转的字符串与原字符串的最长公共子串,这个最长的公共子串就是所求的最长回文子串。
注意:上面的思路有陷阱,这样求解是错误的。当 S=“abacdfgdcaba”, 那么S’ = “abacdgfdcaba”。 这样S和S‘的
本文讨论如何找到给定字符串的最长回文子串,指出反转字符串求最长公共子串的方法存在错误,并介绍了三种解决方案:遍历字符中心法、后缀数组和Manacher算法,分别分析其时间复杂度和特点。
问题描述:求给定字符串的最长回文子串,比如输入字符串 "google”,该字符串的回文子串有"oo"和”goog",因此输出“goog"。
解决思路:反转字符串后求反转的字符串与原字符串的最长公共子串,这个最长的公共子串就是所求的最长回文子串。
注意:上面的思路有陷阱,这样求解是错误的。当 S=“abacdfgdcaba”, 那么S’ = “abacdgfdcaba”。 这样S和S‘的
3592
1万+

被折叠的 条评论
为什么被折叠?
