for i inrange(1,2*n): if i%2==1: left = (i-1)//2 right = (i+1)//2 else: left = i//2-1 right = i//2+1 while left>=0and right<n: if s[left] == s[right]: left -= 1 right += 1 else: break if right-left-1 > res_right-res_left: # left回一步; right本应回一步,但是不包含所以不用回了 res_left, res_right = left+1,right return s[res_left:res_right]