提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
一、回溯法模板
java
void backtracking(参数) {
if (终止条件) {
存放结果;
return;
}
for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) {
处理节点;
backtracking(路径,选择列表); // 递归
回溯,撤销处理结果
}
}
二、力扣77. 组合
java
class Solution {
List<List<Integer>> res = new ArrayList<>();
List<Integer> group = new ArrayList<>();
public List<List<Integer>> combine(int n, int k) {
bracking(1, n, k);
return res;
}
public void bracking(int start ,int n, int k){
if(group.size() == k){
res.add(new ArrayList<>(group));
return;
}
for(int i = start; i <= n; i ++){
group.add(i);
bracking(i+1, n, k);
group.remove(group.size()-1);
}
}
}