首页 > 代码库 > 78. Subsets
78. Subsets
不定期更新leetcode解题java答案。
采用pick one的方式选择题目。
题意为给定一个数组,返回所有子集的集合。
采用递归的方式,逐步由空集合增加至最大数量集合。代码如下:
1 public class Solution { 2 public List<List<Integer>> subsets(int[] nums) { 3 List<List<Integer>> list = new ArrayList(); 4 5 List<Integer> nul = new ArrayList(); 6 list.add(nul); 7 8 addSubsets(list, nul, 0, nums); 9 10 return list;11 }12 13 public void addSubsets(List<List<Integer>> list, List<Integer> init, int location, int[] nums){14 for(int i = location; i < nums.length; i++){15 List<Integer> tmpList = new ArrayList();16 17 for(int j = 0; j < init.size(); j++)18 tmpList.add(init.get(j));19 20 tmpList.add(nums[i]);21 list.add(tmpList);22 23 addSubsets(list, tmpList, i + 1, nums);24 }25 }26 }
78. Subsets
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。