20200401 第五題 最長回文子串

2021-10-04 16:38:42 字數 1789 閱讀 2320

個人想法別忘了邊界判斷,以後做每一道題上來要進行邊界判斷。

這個的思路也有點像動態規劃,每次得到新的子串長度為curlength。最大的字串長度是maxlength,當前的最大的字串索引是index。

用for迴圈,遍歷字串中每乙個字串,查詢回文字串,返回當前的字串長度即可。

長度判斷,分為兩種,第一種是aa這種,第二種是aba這種。但是會有特例,比如aaa,這種得到的長度應該是3。所以得到這兩種方式得到的長度,我設定為first與second,比較他倆最大值作為返回長度。要注意的一點是,一定要在進行第二個比較邏輯之前,一定要把指標重新更新一遍。

最後根據得到的長度是奇數或者偶數進行分類,用string字串中的substring方法,最後要根據長度,進行擷取字串。

官方題解

加上我自己改編一些。

官方執行時間是我的一半。

leetCode第五題 最長回文子串

題目 給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。用例 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。輸入 cbbd 輸出 bb 本題採用動態規劃演算法進行題解,關於動態規劃可以查詢一些關於他的資料,本題目屬於比較簡易的規劃演算法,只要找到...

LeetCode第五題最長回文子串

leetcode第五題最長回文子串 給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。示例輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。輸入 cbbd 輸出 bb 解題思路 我們可以用動態規劃演算法來解答此題,定義乙個dp二維陣列dp i j d...

leetcode第五題 尋求最長回文子串

1.思路 1.暴力解法 直接遍歷,兩頭收縮。class solution int maxlen 1 int begin 0 char chararray s.tochararray for int i 0 i return s.substring begin,begin maxlen 驗證是否為回文...