409. Longest Palindrome
Solution#
/**
 * @param {string} s
 * @return {number}
 */
 var longestPalindrome = function(s) {
    if (s.length === 1) {
        return 1;
    }
    
    const l = {};
    
    for (const c of s) {
        if (l[c]) {
            l[c]++;
        } else {
            l[c] = 1;
        }
    }
    let total = 0;
    let foundEven = false;
    for (let char of Object.keys(l)) {
        let count = l[char];
        if (count % 2 === 0) {
            total += count;
        }  else {
            foundEven = true;
            total += count - 1;
        }
    }
    if (foundEven) {
        total++;
    }
    
    return total;
};
Complexity#
- Time Complexity: O(N), where N is the size of s.
- Space Complexity: O(1), as the alphabet size of lis fixed.
All Solutions