解决思路
回溯算法
public List<List<Integer>> subsets(int[] nums) {List<List<Integer>> res = new ArrayList<>();backtrack(0,nums,res,new ArrayDeque<>());return res;}private void backtrack(int begin,int[] nums,List<List<Integer>> res,Deque<Integer> tmp){res.add(new ArrayList<>(tmp));for (int j = begin;j < nums.length;j++){tmp.addLast(nums[j]);backtrack(j+1,nums,res,tmp);tmp.removeLast();}}
