Skip to content

Latest commit

 

History

History
31 lines (25 loc) · 771 Bytes

409. 最长回文串.md

File metadata and controls

31 lines (25 loc) · 771 Bytes

409. 最长回文串

题目传送门

点击这里

解题思路

一道简单题,问最长可能的长度,也就是统计所有字符出现的次数,每两个就能对添加到结果中对长度造成影响,但是要考虑还可以添加一次奇数的情况。

代码

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
}