package main func longestPalindrome(s string) int { getFreqs := func() map[rune]int { freqs := make(map[rune]int) for _, c := range s { freqs[c]++ } return freqs } freqs := getFreqs() length := 0 usedOdd := false for _, count := range freqs { length += 2 * (count / 2) if !usedOdd && count%2 == 1 { length += 1 usedOdd = true } } return length }