Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.
Show Similar Problems
There are two cases we need to deal with odd like 'ada' even like 'adda'
class Solution(object):
def getPalindromeString(self, s, left_index, right_index):
while left_index >= 0 and right_index < len(s) and s[left_index] == s[right_index]:
left_index -= 1
right_index += 1
return s[left_index + 1 : right_index]
def longestPalindrome(self, s):
"""
:type s: str
:rtype: str
"""
longest_string = ''
for index in range(len(s)):
first_string = self.getPalindromeString(s, index, index)
second_string = self.getPalindromeString(s, index, index + 1)
if len(first_string) > len(longest_string):
longest_string = first_string
if len(second_string) > len(longest_string):
longest_string = second_string
return longest_string