leetcode 最長回文串(python)

2021-09-13 15:35:48 字數 982 閱讀 6040

題目:

給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。

在構造過程中,請注意區分大小寫。比如 「aa」 不能當做乙個回文字串。

注意:假設字串的長度不會超過 1010。

示例 1:

輸入:

「abccccdd」

輸出:

7解釋:

我們可以構造的最長的回文串是"dccaccd", 它的長度是 7。

**思想:**用字典記錄字元出現個數,字典類似於雜湊表

**:

class solution(object):

def longestpalindrome(self, s):

""":type s: str

:rtype: int

"""dict={}

count=0 #結果

flag=0 #判斷是否存在中間節點

for a in s: #統計s中每個字元出現的次數,字元作為key,次數作為value值

if a in dict:

dict[a]+=1

else:dict[a]=1

for b in dict:

if dict[b]%2==0:

count+=dict[b]

else:

count+=dict[b]-1

flag=1

count=count+flag

return count

**2:

return len(s) - max(0, sum([s.count(i) % 2 for i in set(s)]) - 1)  #count統計字串元素出現的次數

LeetCode 最長回文串

題目 給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如 aa 不能當做乙個回文字串。注意 假設字串的長度不會超過 1010。示例 1 輸入 abccccdd 輸出 7 解釋 我們可以構造的最長的回文串是 dccaccd 它的長度是 7。...

LeetCode 最長回文串

給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如 aa 不能當做乙個回文字串。注意 假設字串的長度不會超過 1010。示例 輸入 abccccdd 輸出 7 解釋 我們可以構造的最長的回文串是 dccaccd 它的長度是 7。解題思路 ...

leetcode 最長回文子串

給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 中心拓展法 由乙個中心點開始向兩邊拓展,檢測邊界,判斷兩個值是否相等,相等則繼續拓展下去,檢測邊界。1....