return ans; } private: voiddfs(vector<int>& nums, int begin){ ans.push_back(subAns);
int n = nums.size(); for (int i = begin; i < n; i++) { subAns.push_back(nums[i]); dfs(nums, i + 1); subAns.pop_back(); } } vector<int> subAns; vector<vector<int>> ans; };