给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。
**说明:**解集不能包含重复的子集。
public List<List<Integer>> subsets(int[] nums) {
List<List<Integer>> res = new ArrayList<>();
if (nums.length == 0 || nums == null) {
return res;
}
List<Integer> list = new ArrayList<>();
huishuo(res, list, nums, 0);
return res;
}
private void huishuo(List<List<Integer>> res, List<Integer> list, int[] nums, int start) {
res.add(new ArrayList<>(list));
for (int i = start; i < nums.length; i++) {
list.add(nums[i]);
huishuo(res, list, nums, i + 1);
list.remove(list.size() - 1);
}
}