题目:二叉树中和为某一值的路径

输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。

示例:
给定如下二叉树,以及目标和 sum = 22,

5
             / \
            4   8
           /   / \
          11  13  4
         /  \    / \
        7    2  5   1
返回:

[
   [5,4,11,2],
   [5,8,4,5]
]


解题:

二叉树的先序遍历的变形,也可以说是DFS

class Solution {
public:vector<vector<int>> pathSum(TreeNode* root, int sum) {vector<vector<int>> res;if(root==NULL) return res;vector<int> path;//使用vector作栈,使用它作栈来实现后进能够先出FindPath(root, res, path, sum, 0);return res;}void FindPath(TreeNode* root, vector<vector<int>>& res,vector<int>& path,int expectedSum, int currentSum){currentSum += root->val;path.push_back(root->val);bool isLeaf=(root->left == NULL&&root->right==NULL);if (currentSum==expectedSum&&isLeaf)//如果当前值与给出的值相等,且该结点为叶子节点,则{res.push_back(path);//该路径入栈}if (root->left != NULL) FindPath(root->left, res, path, expectedSum, currentSum);if (root->right != NULL) FindPath(root->right, res, path, expectedSum, currentSum);//返回父节点之前,在路径上删除当前结点path.pop_back();}
};

剑指offer:面试题34. 二叉树中和为某一值的路径相关推荐

  1. 剑指offer面试题34. 二叉树中和为某一值的路径(先序遍历)(回溯)

    题目描述 输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径.从树的根节点开始往下一直到叶节点所经过的节点形成一条路径. 思路 详见链接 代码 class Solution:def ...

  2. 剑指offer(C++)-JZ34:二叉树中和为某一值的路径(二)(数据结构-树)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 输入一颗二叉树的根节点root和一个整数expectNumber,找出二叉树中结点值 ...

  3. 剑指offer(C++)-JZ82:二叉树中和为某一值的路径(一)(数据结构-树)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 给定一个二叉树root和一个值 sum ,判断是否有从根节点到叶子节点的节点值之和等 ...

  4. 【剑指offer-Java版】25二叉树中和为某一值的路径

    二叉树中值和为某一值的路径:类似图的深度优先遍历 对于此类问题一直有点弱,多想几次就OK了–主要是不熟悉,毕竟代码写出来之后一看就明白,但是自己想的时候还是有点困难 public class _Q25 ...

  5. 【LeetCode】剑指 Offer 34. 二叉树中和为某一值的路径

    [LeetCode]剑指 Offer 34. 二叉树中和为某一值的路径 文章目录 [LeetCode]剑指 Offer 34. 二叉树中和为某一值的路径 package offer;import ja ...

  6. 剑指offer——面试题34:丑数

    剑指offer--面试题34:丑数 Solution1: 最容易想到的,也是最不可能AC的 class Solution {public:int GetUglyNumber_Solution(int ...

  7. 剑指 Offer 34. 二叉树中和为某一值的路径【附完整可运行代码】

    立志用最少的代码做最高效的表达 输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径.从树的根节点开始往下一直到叶节点所经过的节点形成一条路径. 示例: 给定如下二叉树,以及目标和 ...

  8. [剑指offer]面试题34:丑数

    面试题34:丑数 题目:我们把只包含因子2.3和5的数称作丑数(Ugly Number).求按从小到大的顺序的第1500个丑数.例如6.8都是丑数,但14不是,因为它包含因子7.习惯上我们把1当做第一 ...

  9. 113. 路径总和 (剑指 Offer 34. 二叉树中和为某一值的路径)(回溯算法)

    给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径. 叶子节点 是指没有子节点的节点. 示例 1: 输入:root = [ ...

最新文章

  1. 在一个字符串寻找另一个字符串,并且输出短字符串头字母在长字符串的下标...
  2. 字符串从右截取_跟运维组学Python基础day04(字符串str的索引和切片)
  3. wxWidgets:创建应用程序的 DLL
  4. VTK:可视化之RenderLargeImage
  5. [机器学习]LightGBM分布式使用完全手册
  6. 微信小程序开发——点击按钮退出小程序的实现
  7. 计算机基础知识总结论文,大学计算机基础总结论文
  8. 因市场垄断 高通被欧盟开出巨额罚单 高通:我不服
  9. c#中接口的使用方法图解_C#中的接口interface的使用
  10. .fit文件读取--head信息--修改head--读取csv文件-------ska暑期训练
  11. XXL-API v1.1.1 发布,API管理平台
  12. 图解Python List数据结构
  13. GX Works2无法步执行调试的说明
  14. 如何在页面打开后根据条件让EditorGridPanel的某一行的复选框默认选中?
  15. 地图比例尺、瓦片切片方案、EPSG
  16. 约瑟夫问题、约瑟夫环
  17. matlab向后误差,matlab-误差棒
  18. shutil,re,hashlib,subprocess模块及其相关
  19. 飞机的各参数指标matlab,通达信飞机起飞及选股指标公式
  20. Coursera机器学习第三周Regularization练习题

热门文章

  1. python 下划线转驼峰
  2. php链表笔记:单链表反转
  3. 为什么很多网站的验证码都设置得肉眼都很难识别?
  4. 中国互联网+光伏逆变器行业商业模式创新与投资机会深度研究报告
  5. 从面试官角度观察到的程序员工资瓶颈,同时给出突破瓶颈的建议
  6. RecylerView为item添加点击事件
  7. Deep learning的一些教程 (转载)
  8. ASP.NET 2.0 ajax中gridView的刷新问题!
  9. pci串口驱动安装失败_TSC TTP-243E Pluse装LTP并口驱动无法安装
  10. S-T平面图中利用最短路求最小割(BZOJ 1001)