文章目录 一、题目 二、回溯算法分析 三、代码 四、剪枝优化 五、总结 一、题目 给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。 二、回溯算法分析 该题是典型的组合问题,所以考虑用回溯法解决 把组合问题抽象为如下树形结构: 可以看出这个棵树,一开始集合是 1,2,3,4, 从左向右取数,取过的数,不在重复取 第一次取1,集合变为2,3,4 ,因为k为2,我们只需要再取一个数就可以了,分别取2,3,4,得到集合[1,2] [1,3] [1,4],以此类推。 每次从集合中选取元素,可选择的范围随着选择的进行而收缩