剑指offer:面试题34. 二叉树中和为某一值的路径
题目:二叉树中和为某一值的路径
输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。
示例:
给定如下二叉树,以及目标和 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. 二叉树中和为某一值的路径相关推荐
- 剑指offer面试题34. 二叉树中和为某一值的路径(先序遍历)(回溯)
题目描述 输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径.从树的根节点开始往下一直到叶节点所经过的节点形成一条路径. 思路 详见链接 代码 class Solution:def ...
- 剑指offer(C++)-JZ34:二叉树中和为某一值的路径(二)(数据结构-树)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 输入一颗二叉树的根节点root和一个整数expectNumber,找出二叉树中结点值 ...
- 剑指offer(C++)-JZ82:二叉树中和为某一值的路径(一)(数据结构-树)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 给定一个二叉树root和一个值 sum ,判断是否有从根节点到叶子节点的节点值之和等 ...
- 【剑指offer-Java版】25二叉树中和为某一值的路径
二叉树中值和为某一值的路径:类似图的深度优先遍历 对于此类问题一直有点弱,多想几次就OK了–主要是不熟悉,毕竟代码写出来之后一看就明白,但是自己想的时候还是有点困难 public class _Q25 ...
- 【LeetCode】剑指 Offer 34. 二叉树中和为某一值的路径
[LeetCode]剑指 Offer 34. 二叉树中和为某一值的路径 文章目录 [LeetCode]剑指 Offer 34. 二叉树中和为某一值的路径 package offer;import ja ...
- 剑指offer——面试题34:丑数
剑指offer--面试题34:丑数 Solution1: 最容易想到的,也是最不可能AC的 class Solution {public:int GetUglyNumber_Solution(int ...
- 剑指 Offer 34. 二叉树中和为某一值的路径【附完整可运行代码】
立志用最少的代码做最高效的表达 输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径.从树的根节点开始往下一直到叶节点所经过的节点形成一条路径. 示例: 给定如下二叉树,以及目标和 ...
- [剑指offer]面试题34:丑数
面试题34:丑数 题目:我们把只包含因子2.3和5的数称作丑数(Ugly Number).求按从小到大的顺序的第1500个丑数.例如6.8都是丑数,但14不是,因为它包含因子7.习惯上我们把1当做第一 ...
- 113. 路径总和 (剑指 Offer 34. 二叉树中和为某一值的路径)(回溯算法)
给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径. 叶子节点 是指没有子节点的节点. 示例 1: 输入:root = [ ...
最新文章
- 在一个字符串寻找另一个字符串,并且输出短字符串头字母在长字符串的下标...
- 字符串从右截取_跟运维组学Python基础day04(字符串str的索引和切片)
- wxWidgets:创建应用程序的 DLL
- VTK:可视化之RenderLargeImage
- [机器学习]LightGBM分布式使用完全手册
- 微信小程序开发——点击按钮退出小程序的实现
- 计算机基础知识总结论文,大学计算机基础总结论文
- 因市场垄断 高通被欧盟开出巨额罚单 高通:我不服
- c#中接口的使用方法图解_C#中的接口interface的使用
- .fit文件读取--head信息--修改head--读取csv文件-------ska暑期训练
- XXL-API v1.1.1 发布,API管理平台
- 图解Python List数据结构
- GX Works2无法步执行调试的说明
- 如何在页面打开后根据条件让EditorGridPanel的某一行的复选框默认选中?
- 地图比例尺、瓦片切片方案、EPSG
- 约瑟夫问题、约瑟夫环
- matlab向后误差,matlab-误差棒
- shutil,re,hashlib,subprocess模块及其相关
- 飞机的各参数指标matlab,通达信飞机起飞及选股指标公式
- Coursera机器学习第三周Regularization练习题