题目:给你一个字符串 s
,找到 s
中最长的回文子串。
示例 1: 输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。 示例 2: 输入:s = "cbbd" 输出:"bb" 示例 3: 输入:s = "a" 输出:"a" 示例 4: 输入:s = "ac" 输出:"a" 提示: 1 <= s.length <= 1000 s 仅由数字和英文字母(大写和/或小写)组成 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/longest-palindromic-substring 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
最近在力扣上做题,第一道就是这个,感觉智商不够用,写博客记录下。。。
这道题使用的是动态规划解法,当然,看了题解的,哈哈
首先回文字符串从左到右和从右到左字符串是一样的,单个字符一定是回文字符串,按照动态规划的思想,如果左边和右边的字符相同,如果这个字符串要是回文字符串,那中间的字符串必然也要是回文字符串。
用dp[i][j]表示第i位到第j位的字符串是否是回文字符串,s(i),s(j)分别表示第i和第j个字符。所以