leetcode 5最長的迴文子串
阿新 • • 發佈:2018-11-10
‘’’
給定一個字串 s,找到 s 中最長的迴文子串。你可以假設 s 的最大長度為1000。
示例 1:
輸入: “babad”
輸出: “bab”
注意: "aba"也是一個有效答案。
示例 2:
輸入: “cbbd”
輸出: “bb”
‘’’
class Solution: def longestPalindrome(self, s): """ :type s: str :rtype: str """ res = '' if len(set(s)) == 1: return s for i in range(len(s)): tmp = self.helper(s, i, i) #針對‘aba’型別 if len(tmp) > len(res): res = tmp tmp = self.helper(s, i, i + 1) #針對‘abba’型別 if len(tmp) > len(res): res = tmp return res def helper(self, s, l, r): while l >= 0 and r < len(s) and s[l] == s[r]: l -= 1 r += 1 return s[l + 1:r]