题目
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.
题目要求
给定一个字符串s,找出字符串s中最大的回文子串
解题思路
这道题是参考了南郭子綦的解法
回文有两种形式:(1)aabb,(2)aacbb
遍历字符串每个位置分别考虑这两种情况,找到最长的回文子字符串
代码
class Solution(object):
def longestPalindrome(self, s):
"""
:type s: str
:rtype: str
"""
def palindrome(s,left,right):
while left >= 0 and right < len(s) and s[left] == s[right]:
left -= 1
right += 1
return s[left+1:right]
ans = ''
for i in range(len(s)):
pal1 = palindrome(s,i,i)
if len(pal1) > len(ans): ans = pal1
pal2 = palindrome(s,i, i + 1)
if len(pal2) > len(ans): ans = pal2
return ans