二叉树中获取从根节点到某个节点的路径
这个概念大家都懂,直接上代码
bool GetThePathOfNode(BTNode* pRoot, int nData, std::deque<BTNode*>& myDeque)
{if (NULL == pRoot)return false;if (pRoot->nData == nData){myDeque.push_back(pRoot);return true;}myDeque.push_back(pRoot);if (GetThePathOfNode(pRoot->pLeft, nData, myDeque))return true;if (GetThePathOfNode(pRoot->pRight, nData, myDeque))return true;myDeque.pop_back();return false;
}
void GetThePathOfNode(BTNode* pRoot, int nData)
{if (NULL == pRoot){std::cout << "Tree Is Empty!" << std::endl;return;}std::deque<BTNode*> myDeque;GetThePathOfNode(pRoot, nData, myDeque);if (myDeque.empty()){std::cout << "Not Find The Node!" << std::endl;return;}std::cout << "The Path is : ";while (!myDeque.empty()){std::cout << myDeque.front()->nData << " ";myDeque.pop_front();}std::cout << std::endl;
}
上面中使用std::deque而不使用std::stack,
是因为deque可以从根节点开始输出,到目标节点截止。
而stack却只能从进行反向输出。
二叉树中获取从根节点到某个节点的路径相关推荐
- 二叉树中如何求根节点到任意节点的路径?
二叉树中如何求任一节点的路径呢? 思路 使用先序遍历,处理的时候让节点入栈,并且加上标志位即可. 使用另外的result保存最终的路径. 函数 void pre_order(TreeNode * no ...
- 每天一道LeetCode-----以字符串的形式输出二叉树所有从根节点到叶子节点的路径
Binary Tree Paths 原题链接Binary Tree Paths 将二叉树中所有从根节点到叶子节点的路径以字符串的形式输出出来 直接遍历即可,注意只有左右子节点都是空节点时才叫叶子节点 ...
- java 获取叶子节点个数_数据结构编程: 统计二叉树中叶子结点的个数。
展开全部 叶子节点:没有孩子节点的节点 也就是说,当我们明白了叶子节点的定义62616964757a686964616fe59b9ee7ad9431333363376531后,只需要遍历一遍二叉树,把 ...
- Leetcode 129求根节点到叶节点数字之和、104二叉树的最大深度、8字符串转换整数(atoi)、82删除排序链表中的重复元素II、204二分查找、94二叉树的中序遍历、144二叉树的前序遍历
Top1:Leetcode 129求根节点到叶节点数字之和 官方题解:https://leetcode.cn/problems/sum-root-to-leaf-numbers/solution/qi ...
- 剑指offer之求二叉树中两个节点的最低共同父节点
1 问题 求二叉树中俩个节点的最低共同父节点,比如二叉树如下 42 61 3 5 7 比如节点1和3两个节点的最低共同父节点是2,节点3和5两个节点的最低共同父节点是4,节点5和6两个节点的最低共同父 ...
- 对于一颗给定的二叉树,输出所有从根节点到叶节点的路径
给定二叉树,输出所有从根节点到叶节点的路径! 如上图二叉树所示,所有的路径应该是:[[10,1,5,12],[10,1,5,11],[10,1,7,9],[10,2,8,3],[10,2,8,20]] ...
- 微软算法100题11 求二叉树中两节点之间的最大距离
第11 题 求二叉树中节点的最大距离... 如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的, 我们姑且定义"距离"为两节点之间边的个数. 写一个程序, 求一棵二叉树中相 ...
- 【Groovy】自定义 Xml 生成器 BuilderSupport ( 继承 BuilderSupport 抽象类 | 在 createNode 方法中获取节点名称、节点属性、节点值信息 )
文章目录 一.继承 BuilderSupport 抽象类 二.在 createNode 方法中获取节点名称.节点属性.节点值信息 三.完整代码示例 1.MyBuilderSupport 生成器代码 2 ...
- 常考数据结构与算法:在二叉树中找到两个节点的最近公共祖先
题目描述 给定一棵二叉树以及这棵树上的两个节点 o1 和 o2,请找到 o1 和 o2 的最近公共祖先节点. 假设节点的值都大于0. 比如9,10的最近公共祖先节点是2. 思路: 从根节点开始遍历 ...
- 常考数据结构与算法----给定一个二叉树和一个值 sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径,
题目描述 给定一个二叉树和一个值sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径, 例如: 给出如下的二叉树,sum=22, 返回 [ [5,4,11,2], [5,8,9] ] 示 ...
最新文章
- 《可穿戴创意设计:技术与时尚的融合》一一第3章 从纺织品到可穿戴设备
- 偶然发现静态函数与性能一例
- linq to sql初步
- 公共端接正极还是负极_【动力电池大事记】现代摩比斯启动首批模组工厂,松下拟挪威建厂,200名车主起诉现代,密歇根大学开发锂金属固态电池及“无负极”工艺...
- ul 、ol li 继承原有样式的问题
- 2021 EdgeX 中国挑战赛决赛入围名单公布
- gradle项目搭建
- openshift 部署_OpenShift Express:部署Java EE应用程序(支持AS7)
- 【C语言进阶深度学习记录】四 C语言中的类型转换
- 类中构造函数、析构函数与赋值函数的重写
- mysql导出表结构_mysql导入导出表结构及表数据及执行sql文件
- 深度学习(1)---2017年深度学习NLP重大进展与趋势
- 解决VS2019中.net core WPF 暂时无法使用 Designer 的临时方法
- 【亲测可行】Dev c++调试、运行报错解决方法总结
- python求素数代码_Python实现高效求解素数代码实例
- java qq空间权限控制_QQ空间访问权限设置方法
- js日期时间格式化yyyy-mm-dd hh:ii:ss
- Google OpenThread 技术研讨会
- android本地视频播放demo,基于Android的本地视频播放器
- 2021年登高架设免费试题及登高架设找解析
热门文章
- centos-7 charpter one
- Oncomine: 一个肿瘤相关基因研究的数据库--转载
- Group By和Order By的总结
- rancher的使用感受以及与k8s的对比
- Software caused connection abort: socket write error 问题原因推测
- 详解 Spring 3.0 基于 Annotation 的依赖注入实现
- ubuntu报警邮件服务简单搭建
- 60. 理解 Ajax 性能
- 4. ex 命令(1)
- 2. wordpress 友情链接的备份和导入