一道简单题,问最长可能的长度,也就是统计所有字符出现的次数,每两个就能对添加到结果中对长度造成影响,但是要考虑还可以添加一次奇数的情况。
func longestPalindrome(s string) int {
var res int
count := make([]int, 128)
n := len(s)
// 字符统计
for i := 0;i < n;i ++ {
count[s[i]] ++
}
for _, v := range count {
res += v/2*2
// 如果是奇数个,且res是偶数,res情况可以+1,也就是奇数长度。
if (v%2 == 1 && res%2 == 0) {
res ++
}
}
return res
}