取出字符串中最长回文子串

雾凇索引
• 阅读 1615

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

示例 1:
输入:s = "bsbsd"
输出:"bsb" 或 "sbs"
示例 2:
输入:s = "cssd"
输出:"ss"
示例 3:
输入:s = "s"
输出:"s"
示例 4:
输入:s = "st"
输出:"s"

暴力解题:

首先取出所有的子串,通过双层循环。
然后判断子串是不是回文,并且缓存最长的那个。

var res = ''
var longestPalindrome = function(s) {
    let leng = s.length
    for(var i=0; i<leng; i++) {
        for(var j=i+1; j<leng; j++) {
            let str = s.substr(i,j)
            if(isPalindrome(str) && str.length > res.length) {
                res = str
            }
            
        }
    }

    return res
};


var isPalindrome = function (str) {
    var left = 0;
    var right = str.length-1;
    while(left < right) {
        if(str[left] !== str[right]) {
            return false
        }
        left++
        right--

    };

    return true
};

longestPalindrome('cbbd')
点赞
收藏
评论区
推荐文章
一只编程熊 一只编程熊
4年前
【LeetCode每日一题 Day 5】5. 最长回文子串
大家好,我是编程熊,今天是LeetCode每日一题的第五天,一起学习LeetCode第五题《最长回文子串》。题意给你一个字符串s,找到s中最长的回文子串。示例txt输入:s"babad"输出:"bab"解释:"aba"同样是符合题意的答案。题解方法一采用简单暴力的方法,枚举每一个位置为单独回文中心(长度为奇数的子串,如aba)或者回文中心
Kubrnete Kubrnete
4年前
动态规划之马拉车算法
问题描述:给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。如"abc"有三个回文子串‘a','b','c'.示例1:输入:"abc"输出:3解释:三个回文子串:"a","b","c"示例2:输入:"aaa"输出
DaLongggggg DaLongggggg
4年前
python百题大冲关-确定字符串是否是另一个的旋转
挑战介绍实现一个算法来识别一个字符串s2是否是另一个字符串s1的旋转。旋转的解释如下:如果将s1从某个位置断开,拆分成两个字符串(可能有一个为空字符串),再将这两个字符串调换顺序后拼接起来,能够得到s2,那么说字符串s2是字符串s1的旋转。本次挑战中,你需要在rotation.py文件中补充函数is_subst
Stella981 Stella981
3年前
Python 字符串常用方法 string
字符串操作  描述string.capitalize()将字符串的第一个字母大写string.count()    获得字符串中某个字符串的数目string.find()获得字符串中某一子字符串的起始位置,无则返回1string.isalnum()检测字符串是仅包含09AZazstring.isalpha()
Wesley13 Wesley13
3年前
md5加密
1importhashlib2importmd5在python2里边用这个34s'1234567'5print(s.encode())字符串转成bytes6mhashlib.md5(s.encode())加密7resm.
Stella981 Stella981
3年前
HDU 2594(求最长公共前后缀 kmp)
题意是在所给的两个字符串中找最长的公共前后缀,即第一个字符串前缀和第二个字符串后缀的最长相等串。思路是将两个字符串拼接在一起,然后直接套用kmp算法即可。要注意用next会报编译错误,改成Next才过……但next确实不是c关键字。代码如下:!(https://oscimg.oschina.net/oscnet/5
Wesley13 Wesley13
3年前
125. 验证回文串
\TOC\题目给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例1:输入:"Aman,aplan,acanal:Panama"输出:true示例2:输入:"raceacar"输出
Stella981 Stella981
3年前
Lua 字符串查找函数 string.find(s, pattern [, init [, plain]] )【转】
函数原型string.find(s,pattern\,init\,plain\\)s:源字符串pattern:待搜索模式串init:可选,起始位置plain:我没用过①子串匹配:print(string.find("haha",'ah'))输出23注意:
Stella981 Stella981
3年前
LeetCode:(14. 最长公共前缀!!!!!)
题目:14\.最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串“”。示例1:输入:\“flower”,“flow”,“flight”\输出:“fl”示例2:输入:\“dog”,“racecar”,“car”\输出:“”
Stella981 Stella981
3年前
LeetCode459. 重复的子字符串
1.问题描述给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例1:输入:“abab”输出:True解释:可由子字符串“ab”重复两次构成。示例2:输入:“aba”输出:Fal
Stella981 Stella981
3年前
Leetcode 424.替换后的最长重复字符
替换后的最长重复字符给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 _k_次。在执行上述操作后,找到包含重复字母的最长子串的长度。注意:字符串长度和_k_不会超过 104。示例1:输入:s"ABAB",k2输