最长回文子串(python实现)
2020-02-17 04:13
393 查看
题目描述
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
示例1
输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。
示例2
输入: "cbbd" 输出: "bb"
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-palindromic-substring/
代码实现
class Solution: def longestPalindrome(self, s: str) -> str: firststr = '' secondstr = '' for each in range(len(s) if len(s) < 1000 else 1000): m, n = each, each while m >= 0 and n <= len(s) - 1 and s[m] == s[n]: if len(firststr) <= n - m + 1: firststr = s[m:n + 1] m -= 1 n += 1 m, n = each, each + 1 while m >= 0 and n <= len(s) - 1 and s[m] == s[n]: if len(secondstr) <= n - m + 1: secondstr = s[m:n + 1] m -= 1 n += 1 return firststr if len(firststr) > len(secondstr) else secondstr
运行结果
- 点赞 1
- 收藏
- 分享
- 文章举报
相关文章推荐
- 整数反转(Python实现)
- python基础(一)
- python爬虫-1
- python中random模块
- Python之__str__类的特殊方法
- python中的__slots__
- Python中面向对象的__init__,__new__方法剖析
- python中的四种单例模式
- 贝叶斯定理_python实现_1_贝叶斯基础
- numpy实现分段函数
- python平铺多维列表
- Python的import模块&如何创建自己的模块
- 查看Python已安装的模块
- Python数据类型之整数和字符串常用功能
- Python实现内容检索子系统(BM25算法)
- python3.7 ImportError: No module named _ssl 解决方法
- 基于Python Django的慕课网校教育平台的开发(一)
- Learning Python for Natural Network (01)
- Ubuntu 16.0.4 中默认的Python2环境切换为Python3
- 密度聚类DBSCAN算法代码超详细注释(python版)