0005. 最长回文子串

0005. 最长回文子串 #

  • 标签:
  • 难度:中等

一、题目说明 #

描述:给你一个字符串s,找到s中最长的回文子串。

说明:如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。

示例

  • 示例 1:
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。
  • 示例 2:
输入:s = "cbbd"
输出:"bb"

提示

  • $1 <= s.length <= 1000$

  • s 仅由数字和英文字母组成

二、解题思路 #

1. 中心扩散 #

根据题意,如果将一个字符串反过来之后,得到的字符串跟之前相同,则称该字符串为回文字符串。那么我可以这样理解:如果某个字符串,存在一个回文中心,从回文中心开始,左右两边的字符逐个相同,那么这个字符串一定是一个回文字符串。

而现在,题目是给了一个字符串s,要求从s中找出最长的回文字符串,那么我可以从左右向右遍历这个字符串s,遍历过程中将每一个元素