这个题考察的是什么贪心,如果能一眼看出贪心也算可以了。贪心一步迭代很少见。
func longestPalindrome(s string) int { var count [128]int len := 0 for _, v := range s { count[v]++ } for _, v := range count { len += v / 2 * 2 if v%2 == 1 && len%2 == 0 { len++ } } return len }
有一些巧妙的地方,自己debug几次就知道了。