LeetCode-409 最長(zhǎng)回文串

1. 題目

https://leetcode-cn.com/problems/longest-palindrome/

給定一個(gè)包含大寫字母和小寫字母的字符串,找到通過(guò)這些字母構(gòu)造成的最長(zhǎng)的回文串。

在構(gòu)造過(guò)程中,請(qǐng)注意區(qū)分大小寫。比如 "Aa" 不能當(dāng)做一個(gè)回文字符串。

注意:
假設(shè)字符串的長(zhǎng)度不會(huì)超過(guò) 1010。

示例 1:

輸入:
"abccccdd"
輸出:
7

解釋:
我們可以構(gòu)造的最長(zhǎng)的回文串是"dccaccd", 它的長(zhǎng)度是 7。

2. 我的AC

class Solution(object):
    def longestPalindrome(self, s):
        """
        :type s: str
        :rtype: int
        """
        mapping = {}
        for char in s:
            if char not in mapping:
                mapping[char] = 1
            else:
                mapping[char] += 1
        count_odd = 0
        for _, num in enumerate(mapping.values()):
            if num % 2 == 1:
                count_odd += 1
        return len(s) - count_odd + 1if count_odd > 0 else len(s)

出錯(cuò)點(diǎn)注意:

  • aaa 可以只取 aa

3. 小結(jié)

  1. 遍歷列表元素
  • 效率較低
for num in list:
  • 效率較高
for _, num in enumerate(list):
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容