leetcode 647 回文子串

2021-10-22 23:42:05 字數 735 閱讀 6142

647. 回文子串

難度中等207收藏分享切換為英文關注反饋

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

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

示例 1:

輸入: "abc"

輸出: 3

解釋: 三個回文子串: "a", "b", "c".

示例 2:

輸入: "aaa"

輸出: 6

說明: 6個回文子串: "a", "a", "a", "aa", "aa", "aaa".

解題思路: 定義乙個 bool  dp[i,j] 陣列,如果 i到j為 回文子串,那麼 為true

狀態轉移方程:  dp[i,j] = true  if  dp[i+1][j-1]==true  && s[i] = s[j]

false     else

初始化 dp[i,i]= true  ,dp[i,i+1] = true if s[i]==s[i+1]

class solution 

for(int l=3;l<=len;l++)

for(int i=0;i<=len-l;i++)

int cnt = 0;

for(int i=0;ifor(int j=i;jif(dp[i][j])

cnt++;

return cnt;

}};

leetcode647 回文子串

給定乙個字串,你的任務是計算這個字串中有多少個回文子串。具有不同開始位置或結束位置的子串,即使是由相同的字元組成,也會被計為是不同的子串。示例 輸入 aaaba 輸出 9 解釋 a aa a aa aaa a b aba a 奇回文 如 aba 和偶回文 如abba 歸一化處理 i 0123 47s...

leetcode 647 回文子串

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

LeetCode 647 回文子串

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