1 题目

给定一个二叉树和一个值sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径.

2 解法

用递归的方法,如果当前不是叶子节点,就把sum减去当前的值,并把当前节点当作路径节点push进临时路径数组中,然后去检查其左右节点,如果是叶子节点的话,检查其值和剩下的sum值是否相等,如果相等就把已有的path当成结果之一放进最终result中:

/*** struct TreeNode {*  int val;*   struct TreeNode *left;* struct TreeNode *right;* };*/class Solution {
public:/*** * @param root TreeNode类 * @param sum int整型 * @return int整型vector<vector<>>*/vector<vector<int>> res;vector<vector<int> > pathSum(TreeNode* root, int sum) {// write code herevector<int> path;if (root) {run(sum, root, path);}return res;}void run (int target, TreeNode* node, vector<int> path) {if (!node)return;path.push_back(node->val);if (node->left == nullptr && node->right == nullptr) {if (target == node->val)res.push_back(path);} else {target -= node->val;run(target, node->left, path);run(target, node->right, path);}}
};

leetcode 112 --- 二叉树根节点到叶子节点和为指定值的路径相关推荐

  1. 求二叉树指定结点到根的路径c语言,二叉树根节点到叶子结点和为指定值的路径...

    题目描述 image.png 题解 解题思路与二叉树根节点到叶节点的所有路径和一题相似,都是采用递归算法.但这个题加了一点,要求保存路径到vector中. 为了保存路径,这里给递归函数传递一个vect ...

  2. 求一棵二叉树根到所有叶子节点的路径

    //求路径的函数 void LeavesPath(BitTree* tree, int level) {if (tree == NULL)return;Paths[level] = tree;//这句 ...

  3. 常考数据结构与算法----给定一个二叉树和一个值 sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径,

    题目描述 给定一个二叉树和一个值sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径, 例如: 给出如下的二叉树,sum=22, 返回 [ [5,4,11,2], [5,8,9] ] 示 ...

  4. 每天一道LeetCode-----计算二叉树所有根节点到叶子节点的和

    Sum Root to Leaf Numbers 原题链接Sum Root to Leaf Numbers 二叉树每个从根节点到叶子节点的路径都代表一个整数,计算所有整数的和 只需要遍历一遍整棵数即可 ...

  5. 每天一道LeetCode-----以字符串的形式输出二叉树所有从根节点到叶子节点的路径

    Binary Tree Paths 原题链接Binary Tree Paths 将二叉树中所有从根节点到叶子节点的路径以字符串的形式输出出来 直接遍历即可,注意只有左右子节点都是空节点时才叫叶子节点 ...

  6. java计算二叉树的节点最小值_求二叉树根节点到叶子节点路径和的最小值:遍历(递归+非递归)...

    昨晚中兴笔试题,第一题是给定二叉树,每个节点的数据结构是 value,left,right,比较根节点到各个叶子节点路径和的大小,输出路径和的最小值.(补充:用ArrayList可以存储) 以前没做过 ...

  7. JAVA8 获取叶节点_Java找出所有的根节点到叶子节点的节点值之和等于sum 的路径...

    题目描述 给定一个二叉树和一个值 sum,请找出所有的根节点到叶子节点的节点值之和等于 sum 的路径, 例如: 给出如下的二叉树,sum=22, 返回 [ [5,4,11,2], [5,8,9] ] ...

  8. 叶子结点和分支节点_数据结构中,满二叉树,结点,叶子节点,是什么?

    除最后一层无任何子节点外,每一层上的所有结点都有两个子结点二叉树. 国内教程定义:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树.也就是说,如果一个二叉树的层数为K,且结点总数 ...

  9. 二叉树 二度节点和叶子节点之间的数量关系

    结论:二叉树中度数为2的节点数量比叶子节点少一个 证明:设0度节点(叶子节点).一度节点.二度节点数量分别为n0,n1,n2 那么总的点数为n=n0+n1+n2. 而边的数量为m=n-1(树的性质) ...

最新文章

  1. 实战排查由于系统负载引起的服务响应异常
  2. Linux下使用ping出现destination is unreachable的问题可能性
  3. 大型网站架构演化发展历程
  4. 浅谈redis数据库的键值设计
  5. kFreeBSD有活过来的迹象?UbuntuBSD
  6. 编辑器扩展_关于MediaWiki的编辑器
  7. NPM useful library path: request.js
  8. JSF 源代码赏析之Lifecycle
  9. 和平精英有电脑版吗_和平精英华晨宇代言版-和平精英华晨宇代言版下载v1.9.10...
  10. linux make乱码,linux乱码
  11. java线程属性_Java 并发 线程属性
  12. Leetcode 30.串联所有单词的子串
  13. 25. 熟悉非标准的哈希容器
  14. Avoiding GREEDYDATA for logstash'grok
  15. 破圈了!完美日记凭什么让周迅成为全球品牌代言人
  16. js读取txt文件中的内容
  17. Houdini参数常见问题
  18. Ubuntu18.04LTS安装TigerVNC
  19. Oracle数据库语句大全
  20. 2022-2028年全球与中国化学抑尘剂行业市场深度调研及投资预测分析

热门文章

  1. golang 升级到新版本_Scikit-learn新版本发布,一行代码秒升级
  2. linux清除configure文件_在Linux操作系统下自动生成Makefile的方法
  3. Android之ViewDragHelper
  4. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 26丨广告效果【难度简单】​
  5. 辗转相除法--最大公约数/最大公倍数
  6. Python 大规模异步新闻爬虫、google翻译、百度翻译、有道翻译、百度指数
  7. DOS 命令、必会的 10个 DOS 命令
  8. linux查看link 路径,link_path_walk()路径名查找
  9. java get set 注解_java技能提升,用Lombok甩掉get和set,让代码变得更简洁
  10. ...android平板办公,教科书式安卓全 面屏平板:华为MatePad Pro构建智慧办公新体验...