#5. Longest Palindromic Substring 题目链接
class Solution(object):
start = maxLength = 0
def findPalindrome(self, s, i, j):
"""
:param s: str
:param i: int
:param j: int
:return:
"""
while i >= 0 and j < len(s) and s[i] == s[j]:
i -= 1
j += 1
length = j - i - 1
if length > self.maxLength:
self.maxLength = length
self.start = i + 1
def longestPalindrome(self, s):
"""
:type s: str
:rtype: str
"""
if len(s) <= 2:
return s
# 遍历字符串计算,分奇数情况和偶数情况
for i in range(len(s)):
self.findPalindrome(s, i, i)
self.findPalindrome(s, i, i + 1)
return s[self.start: self.start + self.maxLength]