File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -5,15 +5,15 @@ def isPalindrome(self, s):
55 :rtype: bool
66 """
77 import re
8-
9- s = re .sub (r' [\W_]' , '' , s ).lower ()
10-
8+
9+ s = re .sub (r" [\W_]" , "" , s ).lower ()
10+
1111 left = 0
1212 right = len (s ) - 1
13-
13+
1414 while left < right :
1515 if s [left ] != s [right ]:
1616 return False
17- left = left + 1
18- right = right - 1
17+ left = left + 1
18+ right = right - 1
1919 return True
Original file line number Diff line number Diff line change 44# longestPalindrome("abba") --> "abba"
55# longestPalindrome("a") --> "a"
66
7+
78class Solution :
8- def longestPalindrome (self , s ):
9+ def retrieve_pal (self , s , left , right ):
10+ while left >= 0 and right < len (s ) and s [left ] == s [right ]:
11+ left = left - 1
12+ right = right + 1
13+ return s [left + 1 : right ]
14+
15+ def longestPalindrome (self , s ):
16+ res = ""
17+
18+ for i in range (len (s )):
19+ current = self .retrieve_pal (s , i - 1 , i + 1 )
20+ in_between = self .retrieve_pal (s , i , i + 1 )
21+ res = max (current , in_between , res , key = len )
22+ return res
You can’t perform that action at this time.
0 commit comments