1
class Solution {
2

3
private static void solve(int[] nums, int i, List<Integer> temp, List<List<Integer>> subset) {
4

5
if (i == nums.length) {
6
subset.add(new ArrayList(temp));
7
return;
8
}
9

10
temp.add(nums[i]);
11
solve(nums, i + 1, temp, subset);
12

13
temp.remove(temp.size() - 1);
14
solve(nums, i + 1, temp, subset);
15
}
16

17
public List<List<Integer>> subsets(int[] nums) {
18
List<List<Integer>> subset = new ArrayList();
19
List<Integer> temp = new ArrayList<>();
20

21
if (nums.length == 0) return subset;
22

23
int startInd = 0;
24

25
solve(nums, startInd, temp, subset);
26

27
return subset;
28
}
29
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0