Simple C++ Recursive Solution
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;
    }
};
Comments (0)