給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。
示例 1:
輸入: "babad"
輸出: "bab"
注意: "aba" 也是乙個有效答案。
//我的第一想法是暴力,然後才是中心擴充套件法馬拉車演算法對於回文串的處理很棒,先把字元全部插入乙個額外字元。但是各個變數之間的關係像是在搞笑。//雖然知道應該用動態規劃,但是實現不出來
public string longestpalindrome(string s)
}return s.substring(start, end + 1);
}private int expandaroundcenter(string s, int left, int right)
return r - l - 1;
}
解決了奇數偶數問題:
未完待續。。。。。
最長回文子串 力扣
5種解法 1.最長公共子串 2.暴力法 3.動態規劃 4.中心擴充套件法 5.manacher法 以下記錄大佬題解 演算法 什麼叫回文串?如果乙個字串正著讀和反著讀是一樣的,那它就是回文串。中心擴充套件演算法 我們觀察到回文中心的兩側互為映象。因此,回文可以從它的中心展開,並且只有 2n 1 個這樣...
力扣 最長回文子串 C
給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。輸入 cbbd 輸出 bb include using namespace std define max a,b a b a b define min...
力扣 05最長回文子串
1.暴力法 include 回文數.hpp include include include using namespace std class solution 左邊 右邊 left right return true public string longestpalindrome string s...