Subsets
Given a set of distinct integers, nums, return all possible subsets.
Note: The solution set must not contain duplicate subsets.
For example,
If nums = [1,2,3], a solution is:
使用递归的思想来寻找子串,注意空字符串是任何数组的子串(包括空数组)。
class Solution {
public:
vector<vector<int>> subsets(vector<int>& nums) {
//rst.push_back(tmp);
_dosubsets(nums,0);
return rst;
}
private:
vector<vector<int>> rst;
vector<int> tmp;
void _dosubsets(vector<int>& nums,int start){
rst.push_back(tmp);
for(int i=start;i<nums.size();i++){
tmp.push_back(nums[i]);
_dosubsets(nums,i+1);
tmp.pop_back();
}
}
};