- 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
示例 1:
输入: “babad”
输出: “bab”
注意: “aba” 也是一个有效答案。
示例 2:
输入: “cbbd”
输出: “bb”
解答
暴力破解
外面的两层循环找到所有子串,第三层循环判断子串是否是回文。方法的时间复杂度为O(n^3),空间复杂度为O(1)。
var longestPalindrome = function(s) {
let n = s.length;
let result = ''
for(let i = 0;i<n;i++){
for(let j=i+1;j<=n;j++){
let str = s.slice(i,j);
let f = str.split('').reverse().join('');
if(str == f){
result = str.length > result.length ? str : result;
}
}
}
console.log(result);
return result;
};