題目來自leetcode
解決思路:
遍歷字串,統計每個字元出現的次數。
統計出現次數為奇數(計為odd)的字元個數
若odd=0,則最長回文子串=字串長度
若odd>0,則最長回文子串 = 字串長度+1-odd
class
solution
:def
longestpalindrome
(self, s:
str)
->
int:
l =len(s)
d =for i in
range
(l):
temp = s[i]
if temp in d:
d[temp]+=1
else
: d[temp]=1
odd =
0for value in d.values():
if value %2==
1:odd +=
1if odd>0:
result = l+
1-odd
else
: result = l
return result
LeetCode 409 最長回文串
題目傳送 給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如 aa 不能當做乙個回文字串。注意 假設字串的長度不會超過 1010。示例 1 輸入 abccccdd 輸出 7解釋 我們可以構造的最長的回文串是 dccaccd 它的長度是 7...
LeetCode 409 最長回文串
給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如 aa 不能當做乙個回文字串。注意 假設字串的長度不會超過 1010。示例 1 輸入 abccccdd 輸出 7 解釋 我們可以構造的最長的回文串是 dccaccd 它的長度是 7。先排個...
LeetCode 409 最長回文串
給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如 aa 不能當做乙個回文字串。注意 假設字串的長度不會超過 1010。建立map存放26個大小寫字母的數量 如果該字母數量為偶數,則sum value 如果該字母數量為奇數,則把value...