409.最长回文串
/**
* @param {string} s
* @return {number}
*/
var longestPalindrome = function (s) {
if (s.length === 1) {
return 1
}
let maxLen = 0
let map = {} // 记录字符出现次数
for (let i = 0; i < s.length; i++) {
let char = s.charAt(i)
if (map[char]) {
map[char]-- // 含2个就可以组成一个回文
maxLen += 2
} else {
map[char] = 1
}
}
// 最中间还可以插入一个字符
let arr = Object.values(map).filter(cnt => cnt === 1)
if (arr.length > 0) { //看是否还有一个字符的
maxLen = maxLen + 1
}
return maxLen
};