Skip to content

Latest commit

 

History

History
23 lines (21 loc) · 582 Bytes

409.md

File metadata and controls

23 lines (21 loc) · 582 Bytes

Longest Palindrome

解法一

func longestPalindrome(s string) int {
    if len(s) == 0 { // 判断零值
        return 0
    }
    result := 0
    mi := make(map[rune]int) // 使用额外的数据结构
    for _,v := range s {
        mi[v]++
    }

    for  _,v := range mi {
        result += (v/2)*2// 无论是奇数既或者是偶数用 v/2 * 2 都是取出来的偶数个。
    }
    if result < len(s) { // 就是偶数个都找到了,如果有多的几个奇数,那么取出来一个放到中间即可。
        result +=1
    }
    return result
}