https://leetcode.com/problems/subsets/

Input: nums = [1,2,3]
Output: [[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]

앞의 문제랑 비슷하다.

void BT(int index, vector<int>& nums, vector<vector<int>>& output, vector<int>& outputRow)
{
	if (index == nums.size())
	{
		output.push_back(outputRow);
		return;
	}
	else
	{
		BT(index + 1, nums, output, outputRow);
		outputRow.push_back(nums[index]);
		BT(index + 1, nums, output, outputRow);
		outputRow.pop_back();
	}
}

class Solution {
public:
	vector<vector<int>> subsets(vector<int>& nums) {
		vector<vector<int>> output;
		vector<int> outputRow;

		BT(0, nums, output, outputRow);
		return output;
	}
};