代码随想录 回溯—组合

递归函数三部曲:

递归函数参数返回值

确定终止条件

单层递归逻辑

**思路:**result存组合结果,path存一个结果生成的路径,回溯函数的参数除了所传进去的n和k,还要传进一个起始点startIndex,这就是确定了参数返回值;if()确定终止条件;for循环里先把当前节点push进path,再进行递归,最后pop出来,给后面的节点pop进留位子。最后返回result。

c++题解:

cpp 复制代码
class Solution {
public:
    vector<vector<int>> result;
    vector<int> path;
    void backtrace(int n,int k,int startIndex)
    {
        if(path.size()==k)
            result.push_back(path);
        for(int i=startIndex;i<=n;i++)
        {
            path.push_back(i);
            backtrace(n,k,i+1);//递归
            path.pop_back();
        }
        return;
    }

    vector<vector<int>> combine(int n, int k) {
        backtrace(n,k,1);
        return result;
    }
};
相关推荐
深邃-2 分钟前
字符函数和字符串函数(1)
c语言·开发语言·数据结构·c++·算法·html5
我真不是小鱼3 分钟前
cpp刷题打卡记录24——路径总和 & 路径总和II
数据结构·c++·算法·leetcode
菜鸟小九9 分钟前
JVM垃圾回收
java·jvm·算法
nianniannnn10 分钟前
力扣 347. 前 K 个高频元素
c++·算法·leetcode
x_xbx12 分钟前
LeetCode:217. 存在重复元素
数据结构·leetcode·哈希算法
漫随流水13 分钟前
c++编程:求阶乘和
数据结构·c++·算法
再卷也是菜15 分钟前
算法基础篇(13)单调栈
数据结构·c++
Frostnova丶18 分钟前
LeetCode 2839. 判断通过操作能否让字符串相等 I
算法·leetcode
会编程的土豆20 分钟前
【leetcode hot 100】二叉树3
算法·深度优先·图论
ofoxcoding33 分钟前
GPT-5.4 API 完全指南:性能实测、成本测算与接入方案(2026)
人工智能·gpt·算法·ai