5. 最长回文子串-leetCode&python

2022-11-13  本文已影响0人  冷多多

1、题目
给你一个字符串 s,找到 s 中最长的回文子串。
示例1:
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案
示例2:
输入:s = "cbbd"
输出:"bb"

2、代码

class Solution(object):
    def longestPalindrome(self, s):
        """
        :type s: str
        :rtype: str
        """
        len_s=len(s)
        sub_s=''
        len_sub=0
        for i in range(0,len_s,1):
            for j in range(i+1,len_s,1):
                tmp_s=s[i:j+1]
                flag=1;ti=i;tj=j
                while s[ti]==s[tj]:
                    ti=ti+1;tj=tj-1;
                    if ti>=tj:
                        flag=0
                if (flag==0) and (len(tmp_s)>len_sub):
                    sub_s=tmp_s;len_sub=len(tmp_s)
        return sub_s;

3、测试用例

    s=Solution()
    ts="babad"
    res=s.longestPalindrome(ts)
    print(res)
上一篇下一篇

猜你喜欢

热点阅读