题解 | #最长回文子串# js
最长回文子串
https://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param A string字符串
* @return int整型
*/
function getLongestPalindrome(A) {
// write code here
if (A.length == "") return 0;
let len = A.length;
let dp = new Array(len).fill().map(() => new Array(len).fill(false));
let begin = 0;
let max = 0;
for (let i = len - 1; i >= 0; i--) {
for (let j = i; j < len; j++) {
if (A[i] == A[j]) {
if (j - i <= 1) {
dp[i][j] = true;
} else {
dp[i][j] = dp[i + 1][j - 1];
}
}
if (dp[i][j] && j - i + 1 > max) {
max = j - i + 1;
begin = i;
}
}
}
return A.substring(begin, begin + max).length;
}
module.exports = {
getLongestPalindrome: getLongestPalindrome,
};