最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为1000。
示例 1:
输入:"babad"输出:"bab"注意:"aba"也是一个有效答案。
示例 2:
输入:"cbbd"输出:"bb"
class Solution:
lenght = 0;
def longestPalindrome(self, s):
"""
:type s: str
:rtype: str
"""
self.lenght = len(s)
maxLenght = 0
maxCode =""
for index in range(self.lenght):
result1 = self.checkIJ(s, index,index+1)
result2 = self.checkIJ(s, index-1, index+1)
result1_lenght = 0
if result1:
result1_lenght = len(result1)
result2_lenght = 0
if result2:
result2_lenght = len(result2)
if result1_lenght>maxLenght:
maxLenght = result1_lenght
maxCode = result1
if result2_lenght>maxLenght:
maxLenght = result2_lenght
maxCode = result2
return maxCode
def checkIJ(self, s, i, j):
"""
:param s: 数据
:param i: 左下标
:param j: 右下标
:return:
"""
if i>=0 and j<self.lenght:
if s[i] == s[j]:
return self.checkIJ(s, i-1, j+1)
else:
return s[i+1:j]
else:
return s[i + 1:j]