class Solution {
public:
vector<vector<string>> partition(string s) {
vector<vector<string>>res;
vector<string>path;
if(s.size()==0)
return res;
store(res,path,s);
}
void store(vector<vector<string>>&res,vector<string>&path,string s)
{
if(s.size()==0)
{
res.push_back(path);
return ;
}
for(int i=1;i<=s.size();i++)
{
string str=s.substr(0,i);
if(judge(str))
{
string a=s.substr(i);
path.push_back(str);
store(res,path,a);
path.pop_back();
}
}
}
bool judge(string s)
{
for(int i=0,j=s.size()-1;i<j;i++,j--)
{
if(s[i]!=s[j])
return false;
}
return true;
}
};
Palindrome Partitioning
最新推荐文章于 2021-03-14 00:46:08 发布