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

示例 1:

输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。
示例 2:

输入:s = "cbbd"
输出:"bb"

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-palindromic-substring

思路:两边扩散,若扩散的左右两边相等则仍然是回文子串,每得到一个更大长度的回文子串就赋给res。

代码:

var longestPalindrome = function(s) {let res = ''for (let i = 0; i < s.length; i ++) {let left = i - 1, right = i + 1 // s为奇数长度while (left >= 0 && right < s.length && s[left] === s[right]) {left --, right ++}if (res.length < right - left - 1) {res = s.substring(left + 1, right)}left = i, right = i + 1 // s为偶数长度while (left >= 0 && right < s.length && s[left] === s[right]) {left --, right ++}if (res.length < right - left - 1) {res = s.substring(left + 1, right)}}return res
};

结果:

算法:最长回文子串(js)相关推荐

  1. 中心扩散算法--最长回文子串

    这篇看一下中心扩散算法. 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案. 示例 2:输入: " ...

  2. manacher算法--最长回文子串

    问题概述:输入一个字符串,输出它的最长回文子串 输入样例:                             对应输出: abbaabcba                            ...

  3. 常考数据结构与算法:最长回文子串

    暴力解法: 列举所有的子串,判断是否为回文串,保存最长的回文串. /** 暴力解法: 列举所有的子串,判断是否为回文串,保存最长的回文串.*/public int getLongestPalindro ...

  4. Manacher 求最长回文子串算法

    Manacher算法,是由一个叫Manacher的人在1975年发明的,可以在$O(n)$的时间复杂度里求出一个字符串中的最长回文子串. 例如这两个回文串"level"." ...

  5. 【字符串】最长回文子串 ( 动态规划算法 ) ★

    文章目录 一.回文串.子串.子序列 二.最长回文子串 1.动态规划算法 2.动态规划算法代码示例 一.回文串.子串.子序列 " 回文串 ( Palindrome ) " 是 正反都 ...

  6. 【字符串】最长回文子串 ( 蛮力算法 )

    文章目录 一.回文串.子串.子序列 二.最长回文子串 1.蛮力算法 2.时间复杂度最优方案 一.回文串.子串.子序列 " 回文串 ( Palindrome ) " 是 正反都一样的 ...

  7. 最长回文子串动态规划_九章算法 | 微软面试题:最长回文子串

    给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串. 在线评测地址:LintCode 领扣 样例 1: 输入:"abcdzdcab&quo ...

  8. Manacher's algorithms(马拉车算法)最长回文子串

    最长回文子串 https://leetcode-cn.com/problems/longest-palindromic-substring/ 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 ...

  9. HihoCode1032 最长回文子串 manacher算法

    求最长回文子串的算法比较经典的是manacher算法 转载自这里 首先,说明一下用到的数组和其他参数的含义: (1)p[i] : 以字符串中下标为的字符为中心的回文子串半径长度: 例如:abaa字符串 ...

  10. 怎么判断一个字符串的最长回文子串是否在头尾_每日一道算法题,让你的头脑更活跃(寻找最长回文子串)...

    前言 最近准备把算法慢慢的捡起来,所以准备日更一道算法题目,难度自然是由简入难,所以同学们可以每天都来看看小编的更新. 日更时间定在每晚20:00,希望大家多多关注啦. 昨天就欠更了,简直就是打脸.过 ...

最新文章

  1. SQLSERVER中统计所有表的记录数
  2. 技巧/诀窍:在ASP.NET中重写URL
  3. PHP mysql数据迁移,如何自动化PHP/MySQL应用程序的迁移(架构和数据)
  4. 2022年青年科学基金项目预算经费下降!
  5. PHP网站如何解决大流量与高并发的问题
  6. 几款4Gb光纤连接产品对比
  7. 试题17 方程的解(枚举法)
  8. element-ui的pagination分页 增加首页和末页
  9. mac使用bootcamp安装win7遇到的一些坑
  10. 简单计算机c++代码
  11. 转:MOSS 中的计算公式
  12. 打开计算机任务栏有桌面没,电脑桌面任务栏不显示打开的窗口怎么办
  13. fastboot使用
  14. 通过antd-charts可视化对比科比和詹姆斯谁更强
  15. 九招使用 Telegram必学,使用Telegram 必看实用功能
  16. 镭速(Raysync)文件传输高可用安装部署介绍!
  17. (无导师学习神经网络)竞争神经网络、SOFM神经网络
  18. html汉子竖着显示,html文字怎么竖排显示
  19. 超高清视频体验-4K片源
  20. matlab绘制四棱台,几何画板绘制正四棱台的图文教程

热门文章

  1. Chisel bootcamp 安装 - Centos7.9
  2. 格瑞特维推出具有卓越空转承受性的PFA复合材料WR(R) 650
  3. 九天揽月带你玩转Ardupilot 的EKF2纸老虎(1)
  4. python os.path.split_python 中的split()函数和os.path.split()函数
  5. 集合框架背后的数据结构
  6. 2014年5月份第3周51Aspx源码发布详情
  7. Ubuntu 安装配置
  8. 公牛被罚近3亿,然后呢?
  9. chatGPT AI绘画
  10. js 获取当前城市名称以及天气预报