题目
幂集。编写一种方法,返回某集合的所有子集。集合中不包含重复的元素。
说明:解集不能包含重复的子集。
示例:
输入: nums = [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]
解题
方法一:回溯
class Solution { public: vector<vector<int>> res; vector<int> path; void backtracing(vector<int>& nums,int startIndex){ if(startIndex>nums.size()) return; else res.push_back(path); for(int i=startIndex;i<nums.size();i++){ path.push_back(nums[i]); backtracing(nums,i+1); path.pop_back(); } } vector<vector<int>> subsets(vector<int>& nums) { backtracing(nums,0); return res; } };