解题步骤:
参考代码:
class Solution {
public:bool checkPartitioning(string s) {int n=s.size();vector<vector<bool>> dp(n,vector<bool>(n));for(int i=n-1;i>=0;i--){for(int j=i;j<n;j++){if(s[i]==s[j]){dp[i][j]=i+1<j?dp[i+1][j-1]:true;}}}for(int i=1;i<n-1;i++){for(int j=i;j<n-1;j++){//如果能找到同时满足这三个条件的,就说明该字符串可以分成三个回文串if(dp[0][i-1]&&dp[i][j]&&dp[j+1][n-1]){return true;}}}//找不到就返回falsereturn false;}
};
你学会了吗???