给你一个字符串 s,找到 s 中最长的回文子串。
示例 1:
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。
示例 2:
输入:s = "cbbd"
输出:"bb"
提示:
1 <= s.length <= 1000
s 仅由数字和英文字母组成
/**
* @param {string} s
* @return {string}
*/
var longestPalindrome = function(s) {
let dp = Array.from(new Array(s.length), () => new Array(s.length).fill(false));
console.log(dp)
let max = -Infinity;
let res = ''
if (s.length == 1) {
return s
}
for (let i = s.length - 1; i >= 0; i--) {
for (let j = i; j < s.length; j++) {
if (s[i] === s[j]) { // 如果相等的话
if (j - i <= 1 || dp[i + 1][j - 1]) {
dp[i][j] = true;
if (j - i +1 > max) {
max = j - i +1
res = s.substring(i, j+1);
}
}
}
}
}
return res;
};