Leetcode 5. 最长回文子串

在这里插入图片描述

心路历程:

这道题本质在考察双指针和移动窗口的思想,虽然不难但是自己第一次写代码很冗余。

注意的点:

1、注意回文子串是需要分奇偶讨论的
2、函数传参可以假设是偶数情况下的子串,奇数就可以直接i,i赋值

解法:移动双指针

class Solution: 
    def longestPalindrome(self, s: str) -> str:
        res = ""
        for i in range(len(s)):
            # 以 s[i] 为中心的最长回文子串
            s1 = self.palindrome(s, i, i)
            # 以 s[i] 和 s[i+1] 为中心的最长回文子串
            s2 = self.palindrome(s, i, i + 1)
            res = res if len(res) > len(s1) else s1
            res = res if len(res) > len(s2) else s2
        return res

    def palindrome(self, s, l, r):
        while (l >= 0 and r < len(s) and s[l] == s[r]):
            l -= 1
            r += 1
        return s[l+1:r]

相关推荐

  1. LeetCode-5

    2024-04-22 02:20:01       34 阅读
  2. 【Manacher】LeetCode-5.

    2024-04-22 02:20:01       35 阅读
  3. LeetCode_5_中等_

    2024-04-22 02:20:01       35 阅读
  4. leetcode 5.

    2024-04-22 02:20:01       22 阅读
  5. leetcode 5, Manachers算法

    2024-04-22 02:20:01       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-22 02:20:01       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-22 02:20:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-22 02:20:01       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-22 02:20:01       20 阅读

热门阅读

  1. 数据类型判断的方法

    2024-04-22 02:20:01       43 阅读
  2. CSS 01

    CSS 01

    2024-04-22 02:20:01      18 阅读
  3. stm32_HAL_串口不定长数据接收发送

    2024-04-22 02:20:01       13 阅读
  4. 升级Linux 4.19至5.10 (失败手稿)

    2024-04-22 02:20:01       20 阅读
  5. yarn的安装与配置(秒懂yarn用法)

    2024-04-22 02:20:01       20 阅读
  6. 0 回归-海上风电出力预测

    2024-04-22 02:20:01       31 阅读
  7. 链表中LinkList L与LinkList *L( & * L.elem L->elem)

    2024-04-22 02:20:01       17 阅读
  8. 常用node.js命令有哪些呢?

    2024-04-22 02:20:01       20 阅读