题解 | #最长回文子串#

最长回文子串

https://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507

// 计算字符串的最长回文子串
function a(str) {
    let m, n, count = 0;
    for (let i = 0; i < str.length; i++) {
        // 奇数
        let c1 = b(str, i, i)
        // 偶数
        let c2 = b(str, i, i+1);
        count = Math.max(count, c1, c2);
    }
    return count;
}
// 计算m,n两个索引位置对应的最长回文子串
function b(str, m, n) {
    while(m>=0 && n<str.length && str[m] === str[n]) {
        m--;
        n++;
    }
    m = m !== -1 ? m+1:0;
    n = n ? n-1:str.length-1;
    return n-m+1;
}
const str = readline();
console.log(a(str));
全部评论

相关推荐

05-19 19:54
已编辑
杭州电子科技大学 Java
程序员小白条:《备考软考软件设计师》中级很简单的,不需要花很多时间,除非考软高,这简历找找杭州本地中小厂吧,也很难,项目这块还是最好有自己开发的思考,不要网上的亮点搬过来就行,看运气,本地有优势
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务