Given an integer array nums, return all possible subsets (the power set).
The solution set must not contain duplicate subsets
.
Example 1:
Input: nums = [1,2,3]Output: [[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]
Example 2:
Input: nums = [0]Output: [[],[0]]
Constraints:
由题意可知该题是组合问题, 可以使用回溯法解决。
/*** @param {number[]} nums* @return {number[][]}*/var subsets = function (nums) {const list = []const tmpList = []backTrack(list, tmpList, nums, 0)return list};function backTrack(list, tmpList, nums, start) {list.push(tmpList.slice())for (let i = start; i < nums.length; i++) {tmpList.push(nums[i])backTrack(list, tmpList, nums, i + 1)tmpList.splice(tmpList.length - 1, 1)}}