给你一个字符串 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')
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。