力扣 5 最長回文子串 中等

2021-10-24 05:57:53 字數 861 閱讀 9174

描述:

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

示例:

示例 1:

輸入: "babad"

輸出: "bab"

注意: "aba" 也是乙個有效答案。

示例 2:

輸入: "cbbd"

輸出: "bb"

我的解決方案:

class solution

string res = "";

for(int i=0;itemps1.length())?res:temps1;

res = (res.length()>temps2.length())?res:temps2;

}return res;

}public string huiwen(string s,int left,int right){

while(left>=0&&right思路解析:

菜鳥今天鹹魚翻身了,一次除錯就通過了(一年前做過這道題),所以不想說什麼較優的解決方案,就說我的解決方案(其實還是在一年前參考了別人的思路),嘿嘿嘿。

首先要明確回文字串的格式有兩種,一種aba格式,一種是abba格式(空串特殊處理,乙個字元的其實也是aba格式,為了方便可以一起放到特殊處理中)。然後在知道了兩種格式的基礎上,明確如何去找出回文字串,方法是以某個或某兩個字元為中心,向兩邊擴散比較,相同的話,回文子串擴大,不相同則擴充套件結束,得到當前的子串。所以按照這個思路對整個字串的字元進行構造,最終儲存最長的子串。

最長回文子串 力扣5

給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 利用回文字串的特點 正著讀和反著讀都是一樣的,所以首先把s反轉,利用i和j控制左右邊界,不斷從s中擷取...

力扣 5 最長回文子串

題目 和647類似 給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 題解 方法一 面試題,要求最長只能一趟迴圈 中心擴散法 class solutio...

力扣題庫 5 最長回文子串

給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 從中心向兩端尋找,最終得到最大的字串 找單數最大,如為回文,則長度為 2 itmp 1 itmp so...