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)