解題思路
找出所有可能的子集。
方法就是用 for 看過從「開頭」以後的每個位置,每次都是「選」或者「不選」兩種可能。
程式碼
class Solution {
public:
void helper(vector<int>& nums, int start, vector<vector<int>>& ans, vector<int> v)
{
ans.push_back(v);
for(int i=start; i<nums.size(); i++)
{
v.push_back(nums[i]);
helper(nums, i+1, ans, v);
v.pop_back();
}
}
vector<vector<int>> subsets(vector<int>& nums) {
vector<vector<int>> ans;
vector<int> v;
helper(nums, 0, ans, v);
return ans;
}
};
沒有留言:
張貼留言