算法:最长回文子串(js)
给你一个字符串 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)相关推荐
- 中心扩散算法--最长回文子串
这篇看一下中心扩散算法. 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案. 示例 2:输入: " ...
- manacher算法--最长回文子串
问题概述:输入一个字符串,输出它的最长回文子串 输入样例: 对应输出: abbaabcba ...
- 常考数据结构与算法:最长回文子串
暴力解法: 列举所有的子串,判断是否为回文串,保存最长的回文串. /** 暴力解法: 列举所有的子串,判断是否为回文串,保存最长的回文串.*/public int getLongestPalindro ...
- Manacher 求最长回文子串算法
Manacher算法,是由一个叫Manacher的人在1975年发明的,可以在$O(n)$的时间复杂度里求出一个字符串中的最长回文子串. 例如这两个回文串"level"." ...
- 【字符串】最长回文子串 ( 动态规划算法 ) ★
文章目录 一.回文串.子串.子序列 二.最长回文子串 1.动态规划算法 2.动态规划算法代码示例 一.回文串.子串.子序列 " 回文串 ( Palindrome ) " 是 正反都 ...
- 【字符串】最长回文子串 ( 蛮力算法 )
文章目录 一.回文串.子串.子序列 二.最长回文子串 1.蛮力算法 2.时间复杂度最优方案 一.回文串.子串.子序列 " 回文串 ( Palindrome ) " 是 正反都一样的 ...
- 最长回文子串动态规划_九章算法 | 微软面试题:最长回文子串
给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串. 在线评测地址:LintCode 领扣 样例 1: 输入:"abcdzdcab&quo ...
- Manacher's algorithms(马拉车算法)最长回文子串
最长回文子串 https://leetcode-cn.com/problems/longest-palindromic-substring/ 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 ...
- HihoCode1032 最长回文子串 manacher算法
求最长回文子串的算法比较经典的是manacher算法 转载自这里 首先,说明一下用到的数组和其他参数的含义: (1)p[i] : 以字符串中下标为的字符为中心的回文子串半径长度: 例如:abaa字符串 ...
- 怎么判断一个字符串的最长回文子串是否在头尾_每日一道算法题,让你的头脑更活跃(寻找最长回文子串)...
前言 最近准备把算法慢慢的捡起来,所以准备日更一道算法题目,难度自然是由简入难,所以同学们可以每天都来看看小编的更新. 日更时间定在每晚20:00,希望大家多多关注啦. 昨天就欠更了,简直就是打脸.过 ...
最新文章
- SQLSERVER中统计所有表的记录数
- 技巧/诀窍:在ASP.NET中重写URL
- PHP mysql数据迁移,如何自动化PHP/MySQL应用程序的迁移(架构和数据)
- 2022年青年科学基金项目预算经费下降!
- PHP网站如何解决大流量与高并发的问题
- 几款4Gb光纤连接产品对比
- 试题17 方程的解(枚举法)
- element-ui的pagination分页 增加首页和末页
- mac使用bootcamp安装win7遇到的一些坑
- 简单计算机c++代码
- 转:MOSS 中的计算公式
- 打开计算机任务栏有桌面没,电脑桌面任务栏不显示打开的窗口怎么办
- fastboot使用
- 通过antd-charts可视化对比科比和詹姆斯谁更强
- 九招使用 Telegram必学,使用Telegram 必看实用功能
- 镭速(Raysync)文件传输高可用安装部署介绍!
- (无导师学习神经网络)竞争神经网络、SOFM神经网络
- html汉子竖着显示,html文字怎么竖排显示
- 超高清视频体验-4K片源
- matlab绘制四棱台,几何画板绘制正四棱台的图文教程
热门文章
- Chisel bootcamp 安装 - Centos7.9
- 格瑞特维推出具有卓越空转承受性的PFA复合材料WR(R) 650
- 九天揽月带你玩转Ardupilot 的EKF2纸老虎(1)
- python os.path.split_python 中的split()函数和os.path.split()函数
- 集合框架背后的数据结构
- 2014年5月份第3周51Aspx源码发布详情
- Ubuntu 安装配置
- 公牛被罚近3亿,然后呢?
- chatGPT AI绘画
- js 获取当前城市名称以及天气预报