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

本文介绍了一种高效算法来找到给定字符串中的最长回文子串,该算法考虑了奇数长度和偶数长度的回文串情况,并通过实例演示了如何实现这一功能。
485

被折叠的 条评论
为什么被折叠?



