78.子集

题目描述

题解

回溯算法

经典回溯算法题目, 不需要判断路径的条件, 将所有的路径直接添加到结果集中即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class lc78 {
List<List<Integer>> res;
public List<List<Integer>> subsets(int[] nums) {
res = new ArrayList<>();
List<Integer> path = new ArrayList<>();

int len = nums.length;
process(nums, 0, len, path);
return res;
}

private void process(int[] nums, int i, int len, List<Integer> path) {
res.add(new ArrayList<>(path));
for (int j = i; j < len; j++) {
path.add(nums[j]);
process(nums, j+1, len, path);
path.remove(path.size()-1);
}
}
}
-------------本文结束感谢您的阅读-------------
可以请我喝杯奶茶吗