5 最長回文子串

2022-03-28 18:37:42 字數 639 閱讀 7173

題目:

給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。

示例 1:

輸入: "babad"輸出: "bab"注意: "aba"也是乙個有效答案。

示例 2:

分析:很容易可以想到使用簡單迴圈來處理,從第乙個字元開始,依次遍歷,然後判斷每次迴圈得到的是否回文,取長度最長的輸出,按照這種思路可以得到如下**:

public

static

string longestpalindrome(string s)

for (int i = 0; i < s.length(); i++)

}temp.reverse();}}

return

result.tostring();

}

思路1但這種方式對於字串過長時,耗時較長,因此是無法全部通過leetcode的測試用例的,更換思路:

使用中心拓展的方式去找回文數,相對來說時間可以縮短一半。但要注意奇偶數的處理!

public

static

string longestpalindrome2(string s) }}

return

res;

}

思路2

5 最長回文子串

給定乙個字串s,找到s中最長的回文子串。你可以假設s長度最長為1000。示例 輸入 babad 輸出 bab 注意 aba 也是有效答案示例 輸入 cbbd 輸出 bb 方法1 用馬拉車演算法 字串動態規劃 來求最長回文子串時間複雜度可以達到o n 但是部落格裡面有個小失誤 這個id應該不是最大回文...

5 最長回文子串

給定乙個字串s,找到s中最長的回文子串。你可以假設s的最大長度為1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb class solution def longestpalindrome self,s k len s olist...

5 最長回文子串

給定乙個字串s,找到s中最長的回文子串。你可以假設s的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 這道題比較船艇的應該是dp求法,但鄙人的dp特別特別的差勁。所以我選用中心擴充套件演算法,掃一遍所有節點,把被掃...