0005: Longest Palindromic Substring
class Solution:
def longestPalindrome(self, s):
N = len(s)
cmax = 0
output = ""
for ix in range(N):
lx = rx = ix
while lx >= 0 and rx < N and s[lx] == s[rx]:
if cmax < rx - lx + 1:
output = s[lx:1 + rx]
cmax = rx - lx + 1
lx = lx - 1
rx = rx + 1
for ix in range(N - 1):
lx = ix
rx = ix + 1
while lx >= 0 and rx < N and s[lx] == s[rx]:
if cmax < rx - lx + 1:
output = s[lx:1 + rx]
cmax = rx - lx + 1
lx = lx - 1
rx = rx + 1
return output