# 409. Longest Palindrome

Easy
Given a string `s` which consists of lowercase or uppercase letters, return the length of the longest palindrome that can be built with those letters.
Letters are case sensitive, for example, `"Aa"` is not considered a palindrome here.
Example 1:
Input: s = "abccccdd"
Output:
7
Explanation:
One longest palindrome that can be built is "dccaccd", whose length is 7.
Example 2:
Input: s = "a"
Output:
1
Explanation:
The longest palindrome that can be built is "a", whose length is 1.
Constraints:
• `1 <= s.length <= 2000`
• `s` consists of lowercase and/or uppercase English letters only.

### 解題

Runtime: 0 ms, faster than 100.00%
Memory Usage: 2 MB, less than 83.31%
func longestPalindrome(s string) int {
counter := make([]int, 52)
for _, val := range s {
if val>='A' && val<='Z' {
counter[val-'A'+26]++
} else if val>='a' && val<='z' {
counter[val-'a']++
}
}
odd := 0
sum := 0
for _, val := range counter {
if val%2 == 0 {
sum += val
} else {
sum += val-1
odd ++
}
}
if odd>0 { return sum+1 }
return sum
}