1// Recursive Solution2// Time complexity : O(N*(2^N))3// Space complexity : O(N*(2^N))4class Solution {5public:6vector<vector<int>> ans;78void sub(vector<int> &nums, int i, vector<int> temp) {9if (i == nums.size()) {10ans.push_back(temp);11return;12}1314sub(nums, i + 1, temp);15temp.push_back(nums[i]);16sub(nums, i + 1, temp);17}1819vector<vector<int>> subsets(vector<int> &nums) {20vector<int> temp;21sub(nums, 0, temp); // or sub(nums, 0, vector<int> {});22return ans;23}24};