LeetCode5. 最長迴文子串 Python3
阿新 • • 發佈:2018-12-09
給定一個字串 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
然後參考了這個部落格裡的解法,不過感覺也不是很優
容我再想想。。。