LeetCode演算法5 最長回文字串

2021-09-26 07:08:23 字數 692 閱讀 5081

題目描述

給定乙個字串 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 與...