每天一道LeetCode-----计算二叉树所有根节点到叶子节点的和
Sum Root to Leaf Numbers
原题链接Sum Root to Leaf Numbers
二叉树每个从根节点到叶子节点的路径都代表一个整数,计算所有整数的和
只需要遍历一遍整棵数即可,需要注意必须是到达叶子节点
代码如下
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public:int sumNumbers(TreeNode* root) {int sum = 0;int cur = 0;findSum(root, cur, sum);return sum;}
private:void findSum(TreeNode* root, int cur, int& sum) {if(!root) return;cur = cur * 10 + root->val;if(root->left && !root->right)findSum(root->left, cur, sum);else if(!root->left && root->right)findSum(root->right, cur, sum);/* 叶子节点,增加到sum中 */else if(!root->left && !root->right)sum += cur;else{findSum(root->left, cur, sum);findSum(root->right, cur, sum);}}
};
本题比较简单,二叉树的问题利用递归还是比较容易理解的
每天一道LeetCode-----计算二叉树所有根节点到叶子节点的和相关推荐
- java计算二叉树的节点最小值_求二叉树根节点到叶子节点路径和的最小值:遍历(递归+非递归)...
昨晚中兴笔试题,第一题是给定二叉树,每个节点的数据结构是 value,left,right,比较根节点到各个叶子节点路径和的大小,输出路径和的最小值.(补充:用ArrayList可以存储) 以前没做过 ...
- 每天一道LeetCode-----以字符串的形式输出二叉树所有从根节点到叶子节点的路径
Binary Tree Paths 原题链接Binary Tree Paths 将二叉树中所有从根节点到叶子节点的路径以字符串的形式输出出来 直接遍历即可,注意只有左右子节点都是空节点时才叫叶子节点 ...
- leetcode 112 --- 二叉树根节点到叶子节点和为指定值的路径
1 题目 给定一个二叉树和一个值sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径. 2 解法 用递归的方法,如果当前不是叶子节点,就把sum减去当前的值,并把当前节点当作路径节点pu ...
- 常考数据结构与算法----给定一个二叉树和一个值 sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径,
题目描述 给定一个二叉树和一个值sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径, 例如: 给出如下的二叉树,sum=22, 返回 [ [5,4,11,2], [5,8,9] ] 示 ...
- 求一棵二叉树根到所有叶子节点的路径
//求路径的函数 void LeavesPath(BitTree* tree, int level) {if (tree == NULL)return;Paths[level] = tree;//这句 ...
- JAVA8 获取叶节点_Java找出所有的根节点到叶子节点的节点值之和等于sum 的路径...
题目描述 给定一个二叉树和一个值 sum,请找出所有的根节点到叶子节点的节点值之和等于 sum 的路径, 例如: 给出如下的二叉树,sum=22, 返回 [ [5,4,11,2], [5,8,9] ] ...
- 数据结构-树:根节点、子节点、叶子节点是什么?
前言:这个属于数据结构:树. 下面给个例子图解释(根节点.子节点.叶子节点). 上图数字 1.3.7是叶子节点:(因为他们下面没有分叉出子节点,所以称为:叶子节点)[度为0] 数字2.8是子节点: ( ...
- 根节点、子节点、叶子节点是什么?
前言:这个属于数据结构:树. 下面给个例子图解释(根节点.子节点.叶子节点). 上图数字 1.3.7是叶子节点:(因为他们下面没有分叉出子节点,所以称为:叶子节点)[度为0] 数字2.8是子节点: ( ...
- 二叉树 二度节点和叶子节点之间的数量关系
结论:二叉树中度数为2的节点数量比叶子节点少一个 证明:设0度节点(叶子节点).一度节点.二度节点数量分别为n0,n1,n2 那么总的点数为n=n0+n1+n2. 而边的数量为m=n-1(树的性质) ...
最新文章
- mongoTemplate 条件查询
- 快搜浏览器_opera、Google、firefox三个浏览器的选择
- mongodb 备份mysql_MongoDB备份与恢复
- 赋能网安生态通信服务器操作系统,紫光展锐打造操作系统生态,赋能万物互联智能时代...
- python css和xpath_Selenium系列教程(四)css、xpath定位(基于 Python)
- 鸿蒙os界面鲁大师,鲁大师鸿蒙版下载-鲁大师 鸿蒙版v10.4.5-PC6鸿蒙网
- 唯品会高级副总裁 唐倚智:电商精细化运营
- 《南溪的目标检测学习笔记》——性能优化的学习笔记
- Apache2.4 根目录修改
- zttp php,php常用插件
- android for opencv (2) byte[] ,Bitmap 与 Mat 类型转换,Bitmap保存照片
- win10无法装载重装系统iso文件_华硕笔记本怎么自己重装系统|华硕笔记本自己装系统教程...
- 7.1 - CRM系统
- springboot毕设项目自驾旅游网站的设计与实现gah85(java+VUE+Mybatis+Maven+Mysql)
- 计算机语言处理器,计算机语言处理器
- CAD图层的顺序的调整
- 关于五笔字型学习五笔难拆汉字学习总结
- 面包店利用拼团模式面包免费送-月销售30万 !
- 【论文笔记】面向机载应用的多传感器图像融合技术综述
- Apache Hudi 详解
热门文章
- code ./打不开vscode编辑器
- 计算机网络期中考试题周静,期中考试优秀作文
- Java黑皮书课后题第6章:**6.31(金融应用:信用卡号的合法性验证)和**6.32 编写程序,提示用户输入一个long型整数的信用卡号码,显示这个数字是合法的还是非法的
- 岳阳师范学院计算机系刘威,计算机学院青年教师刘威博士发表高水平科研论文...
- OpenGL视点跟踪物体运动
- python中迭代器和生成器的区别
- exports、module.exports和export、export default到底是咋回事
- 从数组里挑出仅仅出现一次的对象
- windows剪切板暂存
- Metasploit Framework(MSF)的使用