leetcode代码记录(最长回文子串

简介: leetcode代码记录(最长回文子串

1. 题目:

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

如果字符串的反序与原始字符串相同,则该字符串称为回文字符串

示例 1:

输入:s = “babad”

输出:“bab”

解释:“aba” 同样是符合题意的答案。

示例 2:

输入:s = “cbbd”

输出:“bb”

2. 我的代码:

class Solution:
    def longestPalindrome(self, s: str) -> str:
        result_len = 0
        result = ""
        # 左右指针 从中间向左右扩散(问题在于,回文串可能是奇数,也可能是偶数
        # 奇数
        for i in range(len(s)):
            result_len_i = 1

            left_p = i - 1
            right_p = i + 1
            while left_p >= 0 and right_p <= len(s) - 1:
                if s[left_p] == s[right_p]:
                    result_len_i += 2

                    left_p -= 1
                    right_p += 1
                else:
                    break
            
            if result_len_i > result_len:
                result_len = result_len_i
                result = s[left_p + 1: right_p]

        # 偶数
        for i in range(len(s) - 1):
            result_len_i = 0

            left_p = i
            right_p = i + 1
            while left_p >= 0 and right_p <= len(s) - 1:
                if s[left_p] == s[right_p]:
                    result_len_i += 2

                    left_p -= 1
                    right_p += 1
                else:
                    break
            
            if result_len_i > result_len:
                result_len = result_len_i
                result = s[left_p + 1: right_p]

        return result

如果当前回文子串的长度能比目前最长的回文子串长,则记录一下。

目录
相关文章
|
7天前
力扣-2029-石子游戏-‘屎山’代码
力扣-2029-石子游戏-‘屎山’代码
12 3
|
13天前
dp表,哈希表,力扣5.最长回文子串力扣1745.分割回文串IV力扣132.分割回文串II优先级队列(堆)是什么下面是手动实现小根堆力扣1046.最后一块石头的重量
dp表,哈希表,力扣5.最长回文子串力扣1745.分割回文串IV力扣132.分割回文串II优先级队列(堆)是什么下面是手动实现小根堆力扣1046.最后一块石头的重量
|
13天前
|
存储 算法 Java
【经典算法】LeetCode 5: 最长回文子串(Java/C/Python3实现含注释说明,Medium)
【经典算法】LeetCode 5: 最长回文子串(Java/C/Python3实现含注释说明,Medium)
9 2
|
1月前
|
机器学习/深度学习
leetcode代码记录(旋转图像
leetcode代码记录(旋转图像
17 0
|
1月前
|
算法
leetcode代码记录(全排列 II
leetcode代码记录(全排列 II
20 4
|
1月前
|
算法
leetcode代码记录(全排列
leetcode代码记录(全排列
17 1
|
1月前
|
索引
leetcode代码记录(Z 字形变换
leetcode代码记录(Z 字形变换
17 1
|
1月前
leetcode代码记录(回文数
leetcode代码记录(回文数
16 1
|
1月前
|
算法
leetcode代码记录(寻找两个正序数组的中位数
leetcode代码记录(寻找两个正序数组的中位数
20 2
|
1月前
leetcode代码记录(两数之和
leetcode代码记录(两数之和
16 1