leetcode第78题子集

115 阅读1分钟

题目: 给你一个整数数组 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();
  }
}

解析: 回溯法