给你一个字符串 s,找到 s 中最长的回文子串。
/**
* @param {string} s
* @return {string}
*/
var longestPalindrome = function(s) {
if (s.length < 2) {
return s
}
res = ''
for (let i = 0; i < s.length;i++) {
func(i, i);
func(i,i + 1);
}
function func(m, n){
while(m >= 0 && n < s.length && s[m] === s[n]) {
m--;
n++;
}
if (n - m - 1 > res.length) {
res = s.slice(m + 1, n);
}
}
return res;
};
本文介绍了一种使用JavaScript编写的算法,通过动态规划解决给定字符串s中找出最长回文子串的问题。通过递归函数func(m, n)判断字符对是否为回文,并更新最长回文子串。适合初学者理解动态规划在字符串问题中的应用。

被折叠的 条评论
为什么被折叠?



