78. 子集

2020-08-16  本文已影响0人  bangbang2
image.png
3.jpg
3.jpg

很经典的回溯问题,每一次的递归结束后,return。会继续执行removelast语句
先存起来,在此基础上实现子集的遍历

class Solution {
    List<List<Integer>> list=new ArrayList<>();
    List<Integer> list1=new ArrayList<Integer>();
    public List<List<Integer>> subsets(int[] nums) {
       back(nums,0);
        return list;
    }
    public void back(int[] nums,int start){
        
        list.add(new ArrayList(list1));
        for(int i=start;i<nums.length;i++){
           
            list1.add(nums[i]);
            back(nums,i+1);
            list1.remove(list1.size()-1);
        }
        return;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读