leetcode題 647 回文子串(中等)

2021-09-26 23:11:55 字數 705 閱讀 7992

一、題目描述:647. 回文子串(中等)

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

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

示例 1:

輸入: "abc"

輸出: 3

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

示例 2:

輸入: "aaa"

輸出: 6

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

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

二、解題思路

方法一、動態規劃,是動態陣列dp[i][j]記錄i~j的字串是否是回文串,動態方程式dp[i][j] = (s[i]==s[j] &&dp[i-1][j+1] ==1)

方法二、中心擴充套件法,就是遍歷每個字元作為中心,或者兩個字元作為中心分別向兩邊擴充套件統計所有回文子串

三、**

方法一

class solution 

else if(i == j+1)

}else}}

}//print(dp);

return count;

}void print(vector> & dp)

cout<}

}};

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 注意 ...