5. 最长回文子串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。

示例 1:
输入: "babad"
输出: "bab"
注意: "aba" 也是一个有效答案。
示例 2:
输入: "cbbd"
输出: "bb"

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-palindromic-substring
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

难过,一天20到题目的目标才完成了1/4,这题真的好难刷。

class Solution {

    //我记得这个应该是很常规的一道题目了,除了穷尽还有什么好的方法吗?
    //问题的关键是如何记忆曾经的回文子串的一个结构,这个需要记忆吗?
    //这题居然还是中等程度的动态规划的题目,感觉对动态规划真的非常的不熟悉。
    //动态规划一般这种无起点的都要用二维的动态规划来做了,我还是对一纬的动态规划比较熟悉。
    //这里之所以满足二维的动态规划是因为回文字符串的结构,去掉开头和结尾之后依然是回文字符串,因此如果用d(i,j)表示i和j之间的字符串是否为回文字符串,我们应该看d(i+1,j-1)是不是以及s.charAt(i)是否等于s.charAt(j)。当然动态规划一定要有开始值录入才能正常启动转移,这么启动就是d(i,i)和d(i,j+1)这个对

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

小白刷Leetcode 文章被收录于专栏

那些必刷的leetcode

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务