5. 最長鏡像子串 [leetcode 5: Longest Palindromic Substring]

5. 最長鏡像子串 [leetcode 5: Longest Palindromic Substring]

原題鏈接

https://leetcode.com/problems/longest-palindromic-substring

老王的解法鏈接

https://github.com/simplemain/leetcode/blob/master/5/analysis.md

難度

★★☆☆☆

標籤

子串

題目描述

給定一個字符串s, 求他的最長鏡像子串. 假定s的最大長度爲1000.

說明: 鏡像串, 就是從中間往兩邊看, 都是一摸一樣的. 比如: abcba, abccba.

輸入樣例

第一組: babad
第二組: cbbd

輸出樣例

第一組: bab (aba也是符合要求的)
第二組: bb

解法分析

  • 解法1 : 樸素的解法

拿到這個題以後, 最直接的一個算法, 就是遍歷字符串裏面每一個字符. 看看以他爲中心向兩邊展開, 是不是可以構成鏡像串.

當然展開的時候, 注意奇數偶數的方式都要檢查一下.

比如: baab, 檢查第一個a的時候, 既要檢查b[a]ab, 也要檢查b[aa]b, 否則就會遺漏.

代碼實現也比較簡單, 時間複雜度爲O(n ^ 2)

完整代碼請點擊這裏: 完整代碼


好了, 這一題就分析到這裏. 如果覺得老王的講解有意思或有幫助, 可以給老王點個贊或者打個賞啥的, 老王就很開心啦~

咱下一題繼續~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章