最长回文子串(Python3)♀?♀问题描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设?s 的最大长度为 1000。示例:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。解决思路:从字符串的第一个字符开始遍历到最后一个字符,判断该字符到第一个字符的子串是否为回文,设立变量更新最长的回文子串长度。代码如下^-^:class Solution: def longestPalindrome(self, s: str) -> str: if s == None: return None length = len(s) if length <= 1: return s dp = [[0 for i in range(length)] for i in range(length)] ss = s[0] re = 1 for i in range(0,length): for j in range(0,i+1): if i-j<=1: if s[j]==s[i]: dp[j][i]=1 if re < i-j+1: ss = s[j:i+1] re = i-j+1 else: if s[j]==s[i] and dp[j+1][i-1]: dp[j][i]=1 if re < i-j+1: ss = s[j:i+1] re = i-j+1 return ss时间与空间复杂度:来源:力扣(LeetCode)链接:https://leetcode-cn.com/probl...
