78. 子集
2020-08-16 本文已影响0人
bangbang2



很经典的回溯问题,每一次的递归结束后,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;
}
}