1. 程式人生 > >LeetCode5. 最長迴文子串 Python3

LeetCode5. 最長迴文子串 Python3

給定一個字串 s,找到 s 中最長的迴文子串。你可以假設 s 的最大長度為1000。

示例 1:

輸入: “babad” 輸出: “bab” 注意: “aba”也是一個有效答案。

示例 2:

輸入: “cbbd” 輸出: “bb”

很難過,寫了一個超時的程式。。。但也算解出來了 本人寫的如下(超時程式):

class Solution:
    def longestPalindrome(self, s):
        a = int(len(s))
        dit = {}
        if a == 1 or a == 0:
            return
s else: for i in range(0, a): for j in range(i+1, a+1): if self.check_echo(s[i:j]): dit[s[i:j]] = j-i if dit != {}: return max(dit, key=dit.get) def check_echo(self, str_1): str_2 = list(reversed(str_1)) if
list(str_1) == list(str_2): return True else: return False

然後參考了這個部落格裡的解法,不過感覺也不是很優

容我再想想。。。