这个方法有问题,这是计算所有子串组成的所有回文子串;而不是所有分割的回文子串;
class Solution {
public:
vector<vector<string>> partition(string s) {
vector<vector<string>> res={{}};
for(int i=;i<s.length();i++){
string si="";
si.push_back(s[i]);
res[].push_back(si);
merge(s,si,res,i-,i+);
}
return res;
}
void merge(string s,string cur,vector<vector<string>>& res,int start,int end){
if(start< || end>=s.length()) return;
if(s[start]!=s[end]) return;
cur=s[start]+cur+s[end];
res[].push_back(cur);
merge(s,cur,res,start-,end+);
}
};