最长回文子串

2020-01-22  本文已影响0人  周闖

5. 最长回文子串

题目描述

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。

示例 1:

输入: "babad"
输出: "bab"
注意: "aba" 也是一个有效答案。
示例 2:

输入: "cbbd"
输出: "bb"

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-palindromic-substring

解题思路

代码实现

class Solution(object):
    def longestPalindrome(self, s):
        """
        :type s: str
        :rtype: str
        """
        if s == s[::-1]:
            return s
        max_len = 1
        res = s[0]
        for i in range(len(s) - 1):
            for j in range(i+1, len(s)):
                if j - i + 2 > max_len and s[i:j+1] == s[i:j+1][::-1]:   # j - i + 几 无所谓, 只要大于max_len就行了
                    max_len = j - i + 2
                    res = s[i:j + 1]
        return res
上一篇 下一篇

猜你喜欢

热点阅读