JavaScript算法系列--leetcode最长回文子串
程序员文章站
2024-03-16 12:51:10
...
给定一个字符串 s
,找到 s
中最长的回文子串。你可以假设 s
的最大长度为 1000。
示例 1:
输入: "babad"
输出: "bab"
注意: "aba" 也是一个有效答案。
示例 2:
输入: "cbbd"
输出: "bb"
实现如下:
/**
* @param {string} s
* @return {string}
*/
var longestPalindrome = function(s) {
if (!s.length) return s
const palindromeArr = []
for (let i = 0; i < s.length; i++) {
let j = 0
let k = 0
while (s[i + j] && s[i - j] && s[i + j] === s[i - j]) {
j++
}
palindromeArr.push(s.slice(i + 1 - j, i + j))
while (s[i - k] && s[i + 1 + k] && s[i - k] === s[i + 1 + k]) {
k++
}
palindromeArr.push(s.slice(i + 1 - k, i + k + 1))
}
return palindromeArr.sort((a, b) => {
return b.length - a.length
})[0]
};
如有更好解法,欢迎留言探讨。
上一篇: letcode 两个排序数组的中位数
下一篇: 《java算法系列》回文数
推荐阅读
-
JavaScript算法系列--leetcode最长回文子串
-
LeetCode算法题实现之JavaScript题三:无重复字符的最长子串。
-
最长回文子串——马拉车算法详解
-
leetcode-5:Longest Palindromic Substring 最长回文子串
-
leetcode5:Longest Palindromic Substring最长回文子串
-
LeetCode 5. Longest Palindromic Substring(最长回文子串)
-
【LeetCode】#5最长回文子串(Longest Palindromic Substring)
-
Leetcode 5. Longest Palindromic Substring 最长回文子串
-
Python3最长回文子串算法示例
-
python实现对求解最长回文子串的动态规划算法