当前位置: 代码迷 >> 综合 >> 剑指 Offer II 079. 所有子集
  详细解决方案

剑指 Offer II 079. 所有子集

热度:16   发布时间:2023-12-26 13:50:02.0

给定一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。

解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。

输入:nums = [1,2,3]
输出:[[1,2,3],[1,2],[1,3],[1],[2,3],[2],[3],[]]
class Solution {List<Integer> kk = new ArrayList<>();List<List<Integer>> res = new ArrayList<List<Integer>>();public List<List<Integer>> subsets(int[] nums) {dfs(0,nums);return res;}public void dfs(int cur,int[] nums){if(cur == nums.length){res.add(new ArrayList<Integer>(kk));return ;}kk.add(nums[cur]);dfs(cur+1,nums);kk.remove(kk.size()-1);dfs(cur+1,nums);}
}

  相关解决方案