标签:amp 空间 ++ 答案 lock pre function block 复杂
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
输入: "babad"
输出: "bab"
注意: "aba" 也是一个有效答案。
输入: "cbbd"
输出: "bb"
var longestPalindrome = function(s) {
let maxStr = ''
let len = s.length
for (let i = 0; i < len; i++) {
let curStr = s[i]
let j = i - 1
let k = i + 1
while(k < len && s[k] === s[i]){
curStr = curStr + s[k]
k++
}
i = k - 1
while (j >= 0 && k < len) {
if (s[j] !== s[k]) {
break
}
curStr = s[j] + curStr + s[k]
j--
k++
}
if (curStr.length > maxStr.length) {
maxStr = curStr
}
}
return maxStr
};
时间复杂度:O(n^2),空间复杂度:O(n)
标签:amp 空间 ++ 答案 lock pre function block 复杂
原文地址:https://www.cnblogs.com/zhoulixiangblog/p/12051425.html