根结点到所有叶子结点的路径问题

这是一篇关于解决面试题的文章,总结了三种不同的方法来找到二叉树中从根节点到所有叶子节点的路径。文章分别使用引用vector、数组+长度以及引用数组+引用长度来实现,并提供了相应的测试程序。作者强调理解递归本质和引用作用的重要性,并鼓励尝试将版本一转换为非递归形式。
摘要由CSDN通过智能技术生成

这是一个典型的面试题。从网上查了很多代码,感觉部分写的不够严谨。今天做一个汇总。
思路:
1. 递归+回溯
2. 非递归的后序遍历(单栈版),每当遇到叶子结点,输出栈中元素即可。

以下代码都是基于思路一的代码。


版本一:引用vector

void LeavesPath(TreeNode* root, vector<int> &path){
  //引用vector
    if (root == NULL) return;
    path.push_back(root->val);
    if (root->left == NULL&&root->right == NULL){
        for (int 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值