题解 | #最长回文子串#
最长回文子串
https://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507
// 计算字符串的最长回文子串
function a(str) {
let m, n, count = 0;for (let i = 0; i < str.length; i++) {
// 奇数
let c1 = b(str, i, i)
// 偶数
let c2 = b(str, i, i+1);
count = Math.max(count, c1, c2);
}
return count;
}
// 计算m,n两个索引位置对应的最长回文子串
function b(str, m, n) {while(m>=0 && n<str.length && str[m] === str[n]) {
m--;
n++;
}
m = m !== -1 ? m+1:0;
n = n ? n-1:str.length-1;
return n-m+1;
}
const str = readline();
console.log(a(str));