LC 0409 [E] Longest Palindrome - ALawliet/algorithms GitHub Wiki

class Solution:
    def longestPalindrome(self, s):
        odds = sum(v & 1 for v in Counter(s).values()) # v & 1 = isOdd(v)
        return len(s) - odds + bool(odds)
    
    def longestPalindrome(self, s):
        c = Counter(s)
        res = 0
        for k, count in c.items():
            res += count // 2
        return res*2 + (len(s) > res*2)