title

给定一个字符串 s, 找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。

示例 1:

输入: "babad" 输出: "bab" 注意: "aba"也是一个有效答案。

示例 2:

输入: "cbbd" 输出: "bb"

analyze

目前的解法判断字符串 s 和它的倒序 s' 是否拥有公有字符串, 且它们的公有字符串应该符合倒序。目前用暴力法实现~~

题目可以转换为求 s 和它的倒序 s' 的最长公有字符串。以后再看。

/**
* @param {string} s
* @return {string}
*/
// 暴力法 有几个用例超时
var longestPalindrome = function (s) {
const reverseS = s.split('').reverse().join('')
let result = '', len = 0
for (let i = 0; i < s.length; i++) {
for (let j = i; j < s.length; j++) {
const sliceS = s.slice(i, j + 1)
if (sliceS.length > len) {
if (reverseS.indexOf(sliceS) >= 0 && sliceS === sliceS.split('').reverse().join('')) {
len = sliceS.length
result = sliceS
}
}
}
}
return result
};