leetcode 最长回文子串 python
题目:
给你一个字符串 s,找到 s 中最长的 回文子串。
示例 1:
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。
示例 2:
输入:s = "cbbd"
输出:"bb"
提示:
1 <= s.length <= 1000s仅由数字和英文字母组成
思路:
感觉很有趣,记录一下,把字符串反转,再比较
图例:
step 1:
1 | 2 | 3 | 4 | 5
5 | 4 | 3 | 2 | 1
step 2:
1 | 2 | 3 | 4 | 5
5 | 4 | 3 | 2 | 1
1 | 2 | 3 | 4 | 5
5 | 4 | 3 | 2 | 1
step 3:
略
代码:
class Solution:
def longestPalindrome(self, s: str) -> str:
s2 = s[::-1]
length = len(s)
for i in range(length):
le = length - i
for j in range(i+1):
# print(j)
# print(s[j : le + j])
# print(s2[i - j : le + i- j])
if(s[j : le + j] == s2[i - j : length- j]):
return s[j : le + j]
return Noneleetcode 最长回文子串 python
https://www.0verlazy.top/archives/leetcode-zui-chang-hui-wen-zi-chuan-python
评论