R7-多维dp篇
思路:
两种情况,中心1个数,中心2个数
大体:中间点扩展原则
class Solution:
def expand(self,s,left,right):
while left>=0 and right<len(s) and s[left]==s[right]:
left-=1
right+=1
#不满足就回退
return left+1,right-1
def longestPalindrome(self, s: str) -> str:
start,end=0,0
for i in range(len(s)):
start1,end1=self.expand(s,i,i)
start2,end2=self.expand(s,i,i+1)
if end1-start1>end-start:
start,end=start1,end1
if end2-start2>end-start:
start,end=start2,end2
return s[start:end+1]