LeetCode 最長回文子串

2021-09-11 08:38:45 字數 925 閱讀 7162

中文版 英文版的直接把 -cn 刪除就可以訪問了

接下來是題目描述:

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

示例 1:

輸入: 「babad」

輸出: 「bab」

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

示例 2:

輸入: 「cbbd」

輸出: 「bb」

首先,我們看到題目以後的想法是什麼呢?什麼樣的字串是回文字串,然後才可以考慮找到最長的回文子串。

對於回文字串一共有以下三種:

aaabaa

所以我們那麼更長的字串是不是回文我們應該怎麼判斷呢? 如果字串的首尾兩個字元一樣的話,那麼這個字串就是不是回文就取決於首尾之間的字串了。如果我們定義乙個 布林值的陣列 dp[i][j] 表示從i到j的區間是否是回文,那麼如果 i 位置 的字元和j位置的字元一樣,dp[i][j] = dp[i+1][j-1];

public static string longestpalindrome(string s) 

int max = 0;

boolean dp = new boolean[s.length()][s.length()];

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

if (j + 1 == i && s.charat(j) == s.charat(i)) }}

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

if (dp[j][i] && i - j + 1 > max) }}

//返回結果

return res;

}

最長回文子串 LeetCode 五 最長回文子串

題目 最長回文子串 給定乙個字串s,找到s中最長的回文子串。你可以假設s的最大長度為 1000。題目解析 回文?當回文串長度為奇數時,比如 北京計程車租出京北 當回文串長度為偶數的時候,比如 1221 以上兩種情況有乙個共同的特點就是有乙個中心,那在 中如何表示中心呢?class solution ...

leetcode 最長回文子串

給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 中心拓展法 由乙個中心點開始向兩邊拓展,檢測邊界,判斷兩個值是否相等,相等則繼續拓展下去,檢測邊界。1....

最長回文子串(LeetCode)

給定乙個字串s,找到s中最長的回文子串。你可以假設s的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb class solution def longestpalindrome self,s type s str r...