647 回文子串

2021-10-05 13:12:05 字數 717 閱讀 7901

給定乙個字串,你的任務是計算這個字串中有多少個回文子串。

具有不同開始位置或結束位置的子串,即使是由相同的字元組成,也會被計為是不同的子串。

示例 1:

示例 2:

注意:1.輸入的字串長度不會超過1000。

中心擴充套件法:

在長度為 n 的字串中,可能的回文串中心位置有 2n-1 個:字母,或兩個字母中間。

演算法:從每乙個回文串中心開始統計回文串數量。回文區間 [a, b] 表示 s[a], s[a+1], …, s[b] 是回文串,根據回文串定義可知 [a+1, b-1] 也是回文區間。

對於每個可能的回文串中心位置,盡可能擴大它的回文區間 [left, right]。當 left >= 0 and right < n and s[left] == s[right] 時,擴大區間。此時回文區間表示的回文串為 s[left], s[left+1], …, s[right]。

class

solution

}return res;}}

;

時間複雜度:o(n^2)

空間複雜度:o(1)

647 回文子串

給定乙個字串,你的任務是計算這個字串中有多少個回文子串。具有不同開始位置或結束位置的子串,即使是由相同的字元組成,也會被計為是不同的子串。示例 1 輸入 abc 輸出 3 解釋 三個回文子串 a b c 示例 2 輸入 aaa 輸出 6 說明 6個回文子串 a a a aa aa aaa 分析 關鍵...

647 回文子串

給定乙個字串,你的任務是計算這個字串中有多少個回文子串。具有不同開始位置或結束位置的子串,即使是由相同的字元組成,也會被計為是不同的子串 比如 給定乙個字串,你的任務是計算這個字串中有多少個回文子串。具有不同開始位置或結束位置的子串,即使是由相同的字元組成,也會被計為是不同的子串。示例 1 輸入 a...

647 回文子串

給定乙個字串,你的任務是計算這個字串中有多少個回文子串。具有不同開始位置或結束位置的子串,即使是由相同的字元組成,也會被計為是不同的子串。示例 1 輸入 abc 輸出 3 解釋 三個回文子串 a b c 示例 2 輸入 aaa 輸出 6 說明 6個回文子串 a a a aa aa aaa class...