leetcode-python 最长回文子串

问题
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
 
示例 1:
输入: "babad"
输出: "bab"
注意: "aba" 也是一个有效答案。
 
示例 2:
输入: "cbbd"
输出: "bb"
code
#!/usr/bin/python3
# -*- coding:utf-8 -*-
 
class Solution:
    def longestPalindrome(self, s: str) -> str:
        res=''
        maxlength=0
        for i in range(2*len(s)-1):
            l=i//2
            r=(i+1)//2
            while l>=0 and r<len(s) and s[l]==s[r]:
                if r-l+1>maxlength:
                    res=s[l:r+1]
                    maxlength=r-l+1
                l-=1
                r+=1
        return res
 
obj=Solution()
res=obj.longestPalindrome("abcbacds")
 
print(res)
outputs
macname@MacdeMacBook-Pro py % python3 cccccc.py
abcba
macname@MacdeMacBook-Pro py %
 
 
 
 
 
 
 
 
 
 

原文地址:https://www.cnblogs.com/sea-stream/p/13528404.html