Appearance
5. 最长回文子串
给你一个字符串 s,找到 s 中最长的回文子串。
如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。
示例 1:
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。
示例 2:
输入:s = "cbbd"
输出:"bb"
提示:
1 <= s.length <= 1000
s 仅由数字和英文字母组成
- 来源:力扣(LeetCode)
- 链接:https://leetcode.cn/problems/longest-palindromic-substring
javascript
/**
* @param {string} s
* @return {string}
*/
var longestPalindrome = function(s) {
let max = ''
for (let i = 0; i < s.length; i++) {
let odd = palindrome(s, i, i)
let even = palindrome(s, i, i + 1)
max = max.length > odd.length ? max : odd
max = max.length > even.length ? max : even
}
return max
}
function palindrome(s, left, right) {
while (left >= 0 && right < s.length && s[left] === s[right]) {
left--
right++
}
return s.slice(left + 1, right)
}
console.log(longestPalindrome('babad'))
console.log(longestPalindrome('cbbd'))