美文网首页
leecode4:求

leecode4:求

作者: boy丿log | 来源:发表于2019-08-07 17:39 被阅读0次
[最长回文子串]

解题思路一:我们所需的时间复杂度是O(N)
用一个字典保存一个字符串出现的第一次index,然后遍历字符串直到结束。

代码如下:

class Solution {
    func longestPalindrome(_ s: String) -> String {
      var dic = [Character : Int]()
        var maxLength = 0
        var currentChar: Character?
        var index = 0
        s.forEach { (char) in
            if let startIndex = dic[char]{
                let length = index + 1 - startIndex
                if length > maxLength {
                    currentChar = char
                    maxLength = length
                }
            }else{
                dic[char] = index
            }
            index += 1
        }

        if maxLength == 0{
            if s.length > 1{
            return String(s[s.index(s.endIndex, offsetBy: -1)..<s.endIndex])
            }else{
                return s
            }
        }else{
            let startIndex = dic[currentChar!]
            let sIndex = s.index(s.startIndex, offsetBy: startIndex!)
            let eIndex = s.index(sIndex, offsetBy:maxLength)
            return String(s[sIndex..<eIndex])
        }
    }
}

第二种解法:

采用快速遍历:
一个从头开始计算一个从尾部开始。

相关文章

  • leecode4:求

    解题思路一:我们所需的时间复杂度是O(N)用一个字典保存一个字符串出现的第一次index,然后遍历字符串直到结束。...

  • leecode4:求两个有序数组的中位数

    https://leetcode-cn.com/problems/median-of-two-sorted-arr...

  • 求难、求拙、求慢、求少

    因今天清远科目三补考,只能摘录了。但是这些理念是我目前认可和在努力践行的。希望和大家共勉。 求难 在不知道要做什么...

  • 求认同、求看到、求回应

    1、主题是什么? 求看到、求认同、求回应 2、事件是什么? 当一个人表现很好得到老师表扬的时候,我也想被表扬,...

  • 求客户 ,求客户,求客户

    资金链断了,,,我需要接活动做场地执行,人员供应,礼模,主持乐队。安保,工作人员,人偶扮演 派发促销,舞蹈,平面拍...

  • 求山求水求少年

    淅淅沥沥。 意外失眠,平常时候虽是晚睡却很久未失眠。生物钟的睡眠时间点开始后移,总觉得十二点睡太早,一点睡刚好。强...

  • 求关注求安慰求照顾

    这两天,咳的肋骨疼也就算了,又遇上特殊的日子,腰酸背痛,还感觉倦怠疲累,真是苦不堪言。 我发现只要一生病,就会情绪...

  • 坚持日更+1

    坚持日更中。。。 求点赞 求阅读 求关注 求指点 求大佬

  • 姻缘

    我求佛 我求菩萨 我求上帝 我求幸福 最后 我求自己

  • 无欲无求

    世间可有无欲无求之人? 少年求自由 老年求有依 壮士求功名 红颜求英雄 佛教求度化 道家求自然 庄周最无语 亦求不...

网友评论

      本文标题:leecode4:求

      本文链接:https://www.haomeiwen.com/subject/mxlgdctx.html