描述:
給定乙個字串s
,找到s
中最長的回文子串。你可以假設s
的最大長度為 1000。
示例:
示例 1:
輸入: "babad"示例 2:輸出: "bab"
注意: "aba" 也是乙個有效答案。
輸入: "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...