題目描述
給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。
示例 1:
輸入: 「babad」
輸出: 「bab」
注意: 「aba」 也是乙個有效答案。
示例 2:
輸入: 「cbbd」
輸出: 「bb」
問題評價
最重要在於判別函式的引入,可以簡化程式的結構;
解題思路
邊界問題
1、對於空字串,進行字串擷取時,需要個別化排除邊界問題;
**
public class _05longestpalindromicsubstring }}
} return s.substring(start, end+1);
} public boolean ispalindrome(string s) else
} return ispalindrome;
} public static void main(string args)
//對於較長的字串,系統提示超時,因此需要考慮時間複雜度更低的方法;
}
LeetCode演算法題解 5 最長回文子串
題目鏈結 題解 我有四種方法,但是能夠通過時間限制的我這裡只有三種 暴力列舉 o n3 超時 動態規劃演算法 o n2 400ms左右 中心向外擴充套件法 o n2 28ms左右 最標準的演算法 manacher演算法 馬拉車演算法 o n 8ms左右 這就是中心向外擴充套件法的優化 具體的演算法思...
LeetCode5 最長回文串
include include include include include include using namespace std ifndef solution h define solution h 思路 從回文串的對稱點開始,依次向左向右比較,不相同的時候停止遍歷,直到找出最大的長度的回文...
LeetCode 最長回文子串 5
給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 方法一 暴力法 時間複雜度為o n 3 會超時 思路 最笨的方法,遍歷所有子串s,並判斷s的反轉s 與...