class Solution {
public:
void subsetRecursion(vector<int> &nums,int index,vector<vector<int>> &ans,vector<int> res)
{
if(index==nums.size())
{
ans.push_back(res);
return;
}
subsetRecursion(nums,index+1,ans,res);
res.push_back(nums[index]);
subsetRecursion(nums,index+1,ans,res);
}
vector<vector<int>> subsets(vector<int>& nums) {
vector<vector<int>> ans;
vector<int> res;
subsetRecursion(nums,0,ans,res);
return ans;
}
};