思路:遍历当前数组,然后依次取List<List<Integer>> ll 里的集合加上当前数组的数组成新的集合 List<Integer> l ,再添加到结果集里。
public List<List<Integer>> subsets(int[] nums) {
List<List<Integer>> ll = new ArrayList<>();
ll.add(new ArrayList<>());
for (int i = 0; i < nums.length; i++) {
int size = ll.size();
for (int j = 0; j < size; j++) {
List<Integer> l = new ArrayList<>(ll.get(j));
l.add(nums[i]);
ll.add(l);
}
}
return ll;
}