题目: 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。
解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 题目链接
我的JavaScript解法
/**
* @param {number[]} nums
* @return {number[][]}
*/
var subsets = function(nums) {
let result = [];
let stack = [];
track(nums, 0, stack, result);
return result;
};
const track = (nums, start, stack, result) => {
result.push([...stack]);
for (let i = start; i < nums.length; i++) {
stack.push(nums[i]);
track(nums, i + 1, stack, result);
stack.pop();
}
}
解析: 回溯法