less than 1 minute read

<-M 78> Subsets

class Solution {
public:
    void helper(vector<int>& nums, int i, vector<int>& subset, vector<vector<int>> &ans) {
        if(i==nums.size()){
            ans.push_back(subset);
            return;
        }

        subset.push_back(nums[i]);
        helper(nums, i + 1, subset, ans);

        subset.pop_back();
        helper(nums, i + 1, subset, ans);

    }
    vector<vector<int>> subsets(vector<int>& nums) {
        vector<int> x;
        vector<vector<int>> ans;
        helper(nums, 0, x, ans);
        return ans;
    }
};