0005. 最长回文子串 #
- 标签:
- 难度:中等
一、题目说明 #
描述:给你一个字符串s
,找到s
中最长的回文子串。
说明:如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。
示例
- 示例 1:
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。
- 示例 2:
输入:s = "cbbd"
输出:"bb"
提示
-
$1 <= s.length <= 1000$
-
s
仅由数字和英文字母组成
二、解题思路 #
1. 中心扩散 #
根据题意,如果将一个字符串反过来之后,得到的字符串跟之前相同,则称该字符串为回文字符串。那么我可以这样理解:如果某个字符串,存在一个回文中心,从回文中心开始,左右两边的字符逐个相同,那么这个字符串一定是一个回文字符串。
而现在,题目是给了一个字符串s
,要求从s
中找出最长的回文字符串,那么我可以从左右向右遍历这个字符串s
,遍历过程中将每一个元素