5. 最长回文子串(longestPalindrome)

给你一个字符串 s,找到 s 中最长的回文子串。

示例 1:

输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。

示例 2:

输入:s = "cbbd"
输出:"bb"

提示:

    1 <= s.length <= 1000
    s 仅由数字和英文字母组成

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/longest-palindromic-substring
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 

题解:

执行用时:1644 ms, 在所有 Python 提交中击败了53.38% 的用户
内存消耗:12.9 MB, 在所有 Python 提交中击败了92.31% 的用户
通过测试用例:180 / 180
查看代码

class Solution(object):
    def longestPalindrome(self, s):
        """
        :type s: str
        :rtype: str
        """
        res = ""
        si = 0
        while si < len(s):
            isi = int(si)
            ss, i, j = "", -1, -1
            if(isi < si):
                ss = ""
                i = int(si - 0.5)
                j = int(si + 0.5)
            else:
                ss = s[isi]
                i = isi - 1
                j = isi + 1
            while True:
                if i < 0 or j > len(s) - 1:
                    break
                if s[i] == s[j]:
                    ss = s[i] + ss + s[j]
                    i -= 1
                    j += 1
                else:
                    break
            res = res if len(res) > len(ss) else ss
            si += 0.5
        return res
posted @   tros  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示