里面要用到字符串转换函数substr
class Solution {
public:
vector<vector<string>>ret;
vector<string>path;
bool judge(string s,int start,int end)
{
int i=start;
int j=end;
for(;i<j;i++,j--)
{
if(s[i]!=s[j])
{
return false;
}
}
return true;
}
void set(string s,int pos)
{
if(pos>=s.size())
{
ret.push_back(path);
return;
}
for(int i=pos;i<s.size();i++)
{
if(judge(s,pos,i)==true)
{
string str=s.substr(pos,i-pos+1);
path.push_back(str);
set(s,i+1);
path.pop_back();
}
}
}
vector<vector<string>> partition(string s) {
set(s,0);
return ret;
}
};