class Solution(object):
def longestPalindrome(self, s):
n = len(s)
s+=' '
index= (0,0)
T = [[0]*(n+1) for i in range(3)]
for startin range(n):
T[0][start],T[1][start]=1,(s[start]==s[start+1])
if T[1][start]:index = (start,1)
forsizein range(2,n):
forstartin range(n-size):
T[(size%3)][start] = (s[start]==s[start+size] and T[(size-2)%3][start+1])
index = (start,size) if (T[size%3][start] andsize>index[1]) else index
return s[index[0]:index[0]+index[1]+1]