func longestPalindrome(s string) (l int) { freq := make([]int, 256) for _, r := range s { freq[r]++ } hasOdd := false for i := 'a'; i <= 'z'; i++ { l += freq[i] if freq[i]&1 == 1 { l-- hasOdd = true } } for i := 'A'; i <= 'Z'; i++ { l += freq[i] if freq[i]&1 == 1 { l-- hasOdd = true } } if hasOdd { return l + 1 } return }