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
};