找到最长的回文子串

时间:2018-06-10 13:57:59

标签: python algorithm

给定一个字符串S,找到最长的回文子串。 例如:

输入:" aaaabaaa" 输出:" aaabaaa"

1 个答案:

答案 0 :(得分:1)

我能想象到的最简单的方法是:

def longestPalindrome(A):
    rev = A[::-1]
    l = len(A)
    while l > 0:
        for i in xrange(0, len(A) - l + 1):
            half = int(l / 2)
            left = A[i : i + half]
            right = rev[len(A) - (i + l) : len(A) - (i + l - half)]
            if left == right:
                return A[i:i+l]
        l -= 1
    return None