问题
给你一个字符串 s,找到 s 中最长的回文子串。
问题分析
回文串特点:顺序和逆序字符相匹配,因此可以等价为字符串s和其逆序字符串s‘的匹配问题。
但需要额外注意的是顺序串s和逆序串s’相匹配的子串不一定为回文,如:顺序串s=‘1abc234cba’ 和逆序串 s’='abc432cba1’可以匹配到公共子串‘abc’,但得到的结果并非是回文串。
如表所示:s=‘1abc234cba’
1 | a | b | c | 2 | 3 | 4 | c | b | a | |
---|---|---|---|---|---|---|---|---|---|---|
a | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
b | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
c | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 1 | 0 | 0 |
4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |