子集
给你一个整数数组 nums
,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。
解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。
示例 1:
示例 2:
1 2
| 输入:nums = [0] 输出:[[],[0]]
|
解法
回溯法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| class Solution { private List<List<Integer>> res = new LinkedList<>(); private LinkedList<Integer> list = new LinkedList<>(); public List<List<Integer>> subsets(int[] nums) { set(nums,0); return res; } public void set(int []nums,int start){ res.add(new LinkedList<>(list)); for (int i = start;i<nums.length;i++){ list.add(nums[i]); set(nums, i+1); list.removeLast(); } } }
|