zoukankan      html  css  js  c++  java
  • Leetcode练习(Python):字符串类:第5题:最长回文子串:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。

    题目:
    最长回文子串:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
    思路:
    思路较简单,需要考虑回文是奇数还是偶数的情况,但是小坑多,得一一调。
    程序:
    class Solution:
        def longestPalindrome(self, s: str) -> str:
            if not s:
                return s
            length = len(s) 
            if length == 1:
                return s
            if length > 1000:
                return null
            result = ''
            auxiliary = 0
            for index in range(1, length):
                index1 = index - 1
                index2 = index
                while index1 >= 0 and index2 < length and s[index1] == s[index2]:
                    index1 -= 1
                    index2 += 1
                if index2 - index1 + 1 > auxiliary:
                    auxiliary = index2 - index1 + 1
                    result = s[index1 + 1: index2]
                index3 = index - 1
                index4 = index + 1
                while index3 >= 0 and index4 < length and s[index3] == s[index4]:
                    index3 -= 1
                    index4 += 1
                if index4 - index3 + 1 > auxiliary:
                    auxiliary = index4 - index3 + 1
                    result = s[index3 + 1: index4]
            return result
  • 相关阅读:
    部分网络加载预训练模型代码实现
    数据不平衡处理方法
    面试题目汇总
    多线程和多进程
    数据结构知识点总结
    GBDT和XGBoost的区别
    GBDT和随机森林的区别
    机器学习-特征处理
    一篇写得很好的关于lct的博客
    Count and Say 2014/10/23
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12842504.html
Copyright © 2011-2022 走看看