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)
完整代碼請點擊這裏: 完整代碼
好了, 這一題就分析到這裏. 如果覺得老王的講解有意思或有幫助, 可以給老王點個贊或者打個賞啥的, 老王就很開心啦~
咱下一題繼續~~