博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 5.最长回文子串
阅读量:7043 次
发布时间:2019-06-28

本文共 1310 字,大约阅读时间需要 4 分钟。

最长回文子串

暴力破解法

选出所有子字符串可能的开始和结束位置,并检验它是不是回文,时间复杂度为O(n^3),空间复杂度为O(1)

var longestPalindrome = function (s) {    var len = s.length;    if(len == 0){        return "";    }    let result = s[0];//1个字符也是回文子串    for(let i=0; i
result.length? str: result; } } } return result;};复制代码

动态规划

var longestPalindrome = function (s) {    let len = s.length;    let result;    let dp = Array(len).fill(0).map(x=>Array(len).fill(0));    let i,j,L;    if(len<=1){        return s;    }    //只有一个字符串的时候是回文    for(i=0; i

emm不知道什么算法
大概的想法就是先把字符串变成长度为奇数,在字符间加上#,然后以每一个字符为中心,向左右扩散判断是否是回文子串

var longestPalindrome = function (s) {    var i = 0, pre, next;        if (s.length < 2) {            return s;        }        s = s.split('').join('#');        var len = s.length;        var result = s[len - 1];        while (i < len) {            for (pre = i - 1, next = i + 1; s[pre] == s[next] && s[pre] && s[next]; pre-- , next++) {                if (next - pre + 1 > result.length) {                    result = s.slice(pre, next + 1);                }else if(next - pre + 1 == result.length && s[i] == '#'){                    result = s.slice(pre, next + 1);                }            }            i++;        }    return result.split('#').join('');};复制代码

马拉车

这个一直不能理解- -智商堪忧,附上链接给各位看官吧⬇

参考链接:

转载地址:http://yveal.baihongyu.com/

你可能感兴趣的文章
jQuery插件学习(二)
查看>>
Ajax (部分一)自己做的,总结页面向后台传Form值、单个值和后台向前台传一个或是一组值...
查看>>
web缓存技术
查看>>
集合知识点
查看>>
Linux快捷键
查看>>
文档对象模型DOM
查看>>
2019北京国际康复及个人健康博览会将在中国国际展览中心举办
查看>>
JVM——类加载机制(一)
查看>>
超清晰的 DNS 原理入门指南 (资源)
查看>>
大神笔记
查看>>
spring cloud构建java b2b2c 电子商务云商平台
查看>>
阿里在使用一种更灵活的软件集成发布模式
查看>>
阿里顶级Java架构师,教你这样手写Spring!
查看>>
android课程表控件、悬浮窗、Todo应用、MVP框架、Kotlin完整项目源码
查看>>
CLOB字段在java中操作
查看>>
磁盘清理
查看>>
javascript 判断数据类型 判空
查看>>
matplotlib 中文字体问题
查看>>
protobuf v3测试
查看>>
(1)知识准备【利用objective-c的runtime特性,结合FMDB实现一个轻量级的ORM】
查看>>