首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >leetcode 5. 最长回文子串

leetcode 5. 最长回文子串

作者头像
蓓蕾心晴
发布2022-11-18 13:58:21
发布2022-11-18 13:58:21
2860
举报
文章被收录于专栏:前端小叙前端小叙

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

示例 1:

代码语言:javascript
复制
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。

示例 2:

代码语言:javascript
复制
输入:s = "cbbd"
输出:"bb"

提示:

  • 1 <= s.length <= 1000
  • s 仅由数字和英文字母组成

原题链接

代码语言:javascript
复制
/**
 * @param {string} s
 * @return {string}
 */
// 动态规划实现
var longestPalindrome = function(s) {
    let l = s.length;
    if(l<=1){
        return s
    }
    let ans = "";
    let dp = new Array(l).fill(0).map(()=>new Array(l));
    for(let i=1;i<l;i++){
        for(let j=0;j<=i;j++){
            // 满足以下条件,即相比较的两个字符相等且他们是同一个字符或相邻的字符或他们那各自往回缩一个字符还是回文
            if(s.charAt(i)===s.charAt(j)&&(i-j<2||dp[j+1][i-1])){
                dp[j][i]=true;
                let res =  s.substring(j,i+1);
                ans=res.length>ans.length?res:ans;
            }
        }
    }
    return ans;
};

解法参考回文子串实现方案。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档