也是看了大佬的解答,因為回文是從前往後讀以及從後往前讀都是一樣的所以採用尋找最長公共子串的方法(注意不是經常使用動態規劃尋找的最長公共子串行),公共子串同樣採用動態規劃的思想,尋找最長公共子串。
但是尋找結果有問題,比如說aac345caa
,如果採用以上做法結果就是aac
,顯然是不正確的,所以我們要確保尋找到的子串在未倒置之前的最後乙個值和當前遍歷的源字串的值相等,也就是說要確保找到的子串在倒置回去以後和現在遍歷的源字串是可以吻合的
如果還是覺得博主說的很模糊的話可以參考:參考解答
注意所構造的二維陣列儲存的是下標,而不是string字串,儲存字串會導致超時
class
solution
// }
if(s1[i]
==s[j])if
(data[i+1]
[j+1
]>maxlen)}}
}return s1.
substr
(maxend-maxlen+
1,maxlen);}
};
最長回文子串 LeetCode 五 最長回文子串
題目 最長回文子串 給定乙個字串s,找到s中最長的回文子串。你可以假設s的最大長度為 1000。題目解析 回文?當回文串長度為奇數時,比如 北京計程車租出京北 當回文串長度為偶數的時候,比如 1221 以上兩種情況有乙個共同的特點就是有乙個中心,那在 中如何表示中心呢?class solution ...
leetcode 最長回文子串
給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 中心拓展法 由乙個中心點開始向兩邊拓展,檢測邊界,判斷兩個值是否相等,相等則繼續拓展下去,檢測邊界。1....
最長回文子串(LeetCode)
給定乙個字串s,找到s中最長的回文子串。你可以假設s的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb class solution def longestpalindrome self,s type s str r...