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

列:

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

# 解析:对每一个字符由中心像两边判断,当两边不相等时返回最后一次相等时的下标。

class Solution(object):def longestPalindrome(self, s):""":type s: str:rtype: str"""n = len(s)  # 原字符串长度def Palindrome(l, r):  # 回文函数(左下标,右下标)while l >= 0 and r < n and s[l] == s[r]:  # 当左下标大于0右下标小于n并且左右下标所对应的值相等l -= 1  # 左下标左移一位r += 1  # 右下标右移一位return l+1, r-1  # 当不满足条件时,返回上一次满足条件的下标left, right = 0, 0  # 初始化最后需要返回的最终下标值for i in range(n):  # 对每个字符进行遍历l_1, r_1 = Palindrome(i, i)  # 中心对称回文判断l_2, r_2 = Palindrome(i, i+1)  # 镜面对称回文判断if r_1 - l_1 > right - left:  # 找出中心对称回文最大值left, right = l_1, r_1  # 存储最大值下标if r_2 - l_2 > right - left:  # 找出镜面对称回文以及两者最大值left, right = l_2, r_2  # 存储最大值下标return s[left : right +1]  # 返回对应下标对应的字符子串

最长回文子串Python解法相关推荐

  1. LeetCode 5. Longest Palindromic Substring 最长回文子串 Python 四种解法(Manacher 动态规划)

    Longest Palindromic Substring 最长回文子串 学习笔记 1. Brute method 第一种方法:直接循环求解,o(n2)o(n^2) class Solution:de ...

  2. leetcode--最长回文子串--python

    文章目录 题目 题目详情 示例 解题思路 思路 代码 运行结果 最佳方案 题目 题目详情 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 输入: &qu ...

  3. python求回文_python实现求最长回文子串长度

    给定一个字符串,求它最长的回文子串长度,例如输入字符串'35534321',它的最长回文子串是'3553',所以返回4. 最容易想到的办法是枚举出所有的子串,然后一一判断是否为回文串,返回最长的回文子 ...

  4. 5. 最长回文子串——暴力法---动态规划解法---扩展中心法

    暴力法 动态规划解法 class Solution {public String longestPalindrome(String s) {if (s == null) return null;cha ...

  5. python 面试题 aac caa相似_经典面试题:最长回文子串

    回文串是面试常常遇到的问题(虽然问题本身没啥意义),本文就告诉你回文串问题的核心思想是什么. 首先,明确一下什:回文串就是正着读和反着读都一样的字符串. 比如说字符串aba和abba都是回文串,因为它 ...

  6. Python最长回文子串

    1.暴力解法(Brute Method)        暴力求解是最容易想到的,要截取字符串的所有子串,然后再判断这些子串中哪些是回文的,最后返回回文子串中最长的即可. 这里我们可以使用两个变量,一个 ...

  7. 最长回文子串(多种解法,附马拉车算法)

    目录 •写在前面 •题目 •解法一  暴力破解 •解法二  暴力优化 •解法三  最长公共子串(动态规划整体) •解法四  中心扩展法 •解法五  马拉车算法 •结束 •写在前面 这种类型的题目算是比 ...

  8. python【力扣LeetCode算法题库】5- 最长回文子串

    5. 最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab&quo ...

  9. LeetCode5-最长回文子串原理及Python实现

    LeetCode5(medium)-最长回文子串 题目 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 思路 中心扩展法 遍历字符串,依次把每个字符作为中心. ...

最新文章

  1. 神经网络“天生”就会驾驶虚拟赛车
  2. android数据存储方式(三)----Files
  3. 论文笔记:Spatial-Temporal Map Vehicle Trajectory Detection Using Dynamic Mode Decomposition and Res-UNe
  4. 数学教师计算机能力提升,数学教师信息技术应用能力提升培训总结.doc
  5. 【数理统计】概率论基础回顾
  6. IIS 7.5 Express概况
  7. Hello Android
  8. itchat没了咱们还可以用Python的wxpy模块来玩转微信
  9. 安装配置 TensorFlow on Android
  10. 执行命令行并等待完成
  11. hive查看表中列的信息命令_走近大数据之Hive入门(四、Hive的管理)
  12. pe下找不到ssd硬盘_进入PE系统之后找不到固态硬盘
  13. what is CPU capacity-什么是CPU容量
  14. 招5000人!美团2023届校园招聘全面启动
  15. 计算机更新好不,Win10自动更新好不好有必要吗?如何关闭屏蔽Windows更新?
  16. 软件测试 (4)Linux命令
  17. 强化学习笔记1:Multi-armed Bandits
  18. [游戏] 星际争霸2:一个新的传奇?
  19. Java NIO简介
  20. 用户登录.html_河南省中小学教师继续教育管理系统登录入口http://47.92.44.63:89/

热门文章

  1. 通过单步调试的方式学习 Angular 中带有选择器的内容投影使用方式
  2. 什么是 SAP Spartacus UI 的 code deprecation
  3. SAP Spartacus layoutSlots ID 和 CMSComponent 的映射关系
  4. 自定义SAP Spartacus Cart界面
  5. TypeScript的class关键字
  6. Angular里的structural directive的一个例子
  7. 从HTTP 400 bad request说起 - 一个函数被注释掉后引起的血案
  8. SAP CRM get_children 方法里面参数 iv_as_copy 有什么用?
  9. 要让Fiddler能够监控加密过后的HTTPS请求,需要执行哪些步骤?
  10. pageSet的底层数据库存储逻辑