一、题目
二、代码
class Solution {
public:
vector<vector<int>> return_vector;
vector<int> path;
void back_track(int start_point,vector<int>& nums)
{
int i,j;
return_vector.push_back(path);
std::cout<<"start_point "<<start_point<<std::endl;
for(i=start_point;i<nums.size();i++)
{
path.push_back(nums[i]);
back_track(i+1,nums);
path.pop_back();
}
}
vector<vector<int>> subsets(vector<int>& nums)
{
return_vector.clear();
path.clear();
for(int i=0;i<nums.size();i++) std::cout<<" "<<nums[i];
std::cout<<std::endl;
back_track(0,nums);
return return_vector;
}
};
三、运行结果