1 class Solution(object): 2 def longestPalindrome(self, s): 3 """ 4 :type s: str 5 :rtype: str 6 """ 7 if(len(s)<2): 8 return s 9 10 left,right=0,0 11 12 n=len(s) 13 isPail=[[False for j in range(n)] for i in range(n)] 14 isPail[0][0]=True 15 16 for j in range(1,len(s)): 17 for i in range(j): 18 if(s[i]==s[j] and ((j-1-(i+1)+1<2) or isPail[i+1][j-1]==True)): 19 isPail[i][j]=True 20 21 if(j-i>right-left): 22 left,right=i,j 23 24 return s[left:right+1]