1. 程式人生 > >LeetCode 5 最長迴文子串 python

LeetCode 5 最長迴文子串 python

給定一個字串 s,找到 s 中最長的迴文子串。你可以假設 s 的最大長度為1000。
示例 1:
輸入: “babad”
輸出: “bab”
注意: "aba"也是一個有效答案。
示例 2:
輸入: “cbbd”
輸出: “bb”

class Solution(object):
    def longestPalindrome(self, s):
        """
        :type s: str
        :rtype: str
        """
        if not s or len(s)==1:
            return s


        result = ''
        maxlen = 0
        for i in range(len(s)):
            for x in range(maxlen,len(s)-i):
                tsr = s[i:i+x+1]
                rtsr = tsr[::-1]
                if tsr == rtsr and len(tsr)>maxlen:
                    print 'swap maxlen'
                    maxlen = len(tsr)
                    result = tsr

        return result