LeetCode 第5題 最長回文子串

2022-09-02 12:03:10 字數 928 閱讀 1983

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

示例 1:

輸入: "babad"

輸出: "bab"

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

示例 2:

輸入: "cbbd"

輸出: "bb"

*/

/*思路:動態規劃 ,時間複雜度為o(n ^2) .

boolean: dp[i][j] = (01

class

solution5

7int max = -1;

8 string res = "";910

boolean dp = new

boolean[s.length() + 1][s.length() + 1];

11for (int j = 1; j <= dp[0].length; j++) 19}

20}21}

22return

res;23}

24 }

/*中心擴散法:

參考部落格 :

*/

1

class

solution5_1

9int max = -1;

1011

for (int i = 0; i < s.length(); i++)

15return

res;16}

1718

void search(int left, int

right, string s)

23if (res.length() < right - left - 1) 26}

27 }

Leetcode第5題 最長回文子串C 解法

沒動態規劃出來,就做不出來 class solution dp 0 0 1 for int i n 2 i 0 i return s.substr pos,len 這種做法dp陣列的i和j分別代表回文串兩端的序號。官方解法則是從字串長度和首序號出發。區別在於i j如果是兩段的序號的話,空間複雜度可以...

LeetCode第409題最長回文串

題目 題目描述 給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如 aa 不能當做乙個回文字串。注意 假設字串的長度不會超過 1010。示例 1 輸入 abccccdd 輸出 7 解釋 我們可以構造的最長的回文串是 dccaccd 它的長...

leecode刷題之第5題 最長回文子串

給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 從中間向兩邊遍歷比暴力破解法更好,當兩邊的字母不相同時會終止此位置的遍歷,所以速度更快。class s...