leetcode437. 路径总和 III
437. 路径总和 III
难度中等1075
给定一个二叉树的根节点 root
,和一个整数 targetSum
,求该二叉树里节点值之和等于 targetSum
的 路径 的数目。
路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。
示例 1:
输入:root = [10,5,-3,3,2,null,11,3,-2,null,1], targetSum = 8 输出:3 解释:和等于 8 的路径有 3 条,如图所示。
示例 2:
输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22 输出:3
提示:
- 二叉树的节点个数的范围是
[0,1000]
-109 <= Node.val <= 109
-1000 <= targetSum <= 1000
通过次数113,792提交次数199,106
简单的二叉树遍历
执行结果:
通过
显示详情
添加备注
执行用时:36 ms, 在所有 C++ 提交中击败了23.10%的用户
内存消耗:15.3 MB, 在所有 C++ 提交中击败了54.81%的用户
通过测试用例:126 / 126
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int nRodeNum = 0;void rodesum(TreeNode* root,int targetSum,int CurrentNum){if(!root)return ;//cout<<root->val<<" "<<CurrentNum<<" ";CurrentNum += root->val;if(CurrentNum == targetSum)nRodeNum++;//cout<<CurrentNum<<endl;rodesum(root->left,targetSum,CurrentNum);//查看一下以当前节点为根节点的左子树上有没有rodesum(root->right,targetSum,CurrentNum);}void vist(TreeNode* root,int targetSum){if(!root)return ;rodesum(root,targetSum,0);vist(root->left,targetSum);vist(root->right,targetSum);}int pathSum(TreeNode* root, int targetSum) {vist(root,targetSum);return nRodeNum;}
};
leetcode437. 路径总和 III相关推荐
- Leetcode-437. 路径总和 III(Java)
给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点). 二叉树不超过1 ...
- 【LeetCode】【HOT】437. 路径总和 III(DFS)
[LeetCode][HOT]437. 路径总和 III 文章目录 [LeetCode][HOT]437. 路径总和 III package hot;class TreeNode{int val;Tr ...
- Leetcode 437.路径总和III
路径总和III 给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点). ...
- LeetCode 437. 路径总和 III
437. 路径总和 III 思路: 深度优先搜索,暴力搜索: 递归遍历每一个节点的所有可能路径,然后将这些路径书目加起来即为返回结果 首先定义rootSum(p,val)表示以节点p为起点向下且满足路 ...
- LeetCode 371. 两整数之和(异或操作) / 639. 解码方法 II(动态规划)/ 437. 路径总和 III
371. 两整数之和 2021.9.26 每日一题 题目描述 给你两个整数 a 和 b ,不使用 运算符 + 和 - ,计算并返回两整数之和. 示例 1: 输入:a = 1, b = 2 ...
- 路径总和 III—leetcode437
给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点). 二叉树不超过1 ...
- 【LeetCode笔记】437. 路径总和III(Java、双重递归、二叉树)
文章目录 题目描述 思路 & 代码 题目描述 说实话确实比I & II要恶心一点 这里直接用双递归秒了(今天才发现我是之前先写的III,再写的I & II) 有前缀和的写法,但 ...
- 【数据结构与算法】之深入解析“路径总和III”的求解思路与算法示例
一.题目要求 给定一个二叉树的根节点 root,和一个整数 targetSum,求该二叉树里节点值之和等于 targetSum 的路径的数目. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径 ...
- 437. 路径总和 III
给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点). 二叉树不超过1 ...
最新文章
- metaq的简单封装dataChange解读
- Fedora20 优化体验
- Java multithread 多线程issue
- 谷歌微软等公司承诺大力投资于网络安全建设
- iphone--使用NSUserDefaults存储数据
- centos7 cuda测试_CentOS 7 安装cuda环境
- 问题三十六:ray tracing中的Inverse Mapping(4)——圆柱面Inverse Mapping
- 关于解决Windows server系统用户无法远程的问题
- 在GridView列中动态创建几个CheckBox
- 科沃斯扫地机器人电路原理图_科沃斯扫地机器人不工作故障维修(CEN550)
- 计算机网络原理(04741)课后习题答案
- 分析:谷歌不会退出中国市场的8大理由
- 终端字符乱码解决方法
- 【荐】JS实现类似星球仿flash效果的动态菜单
- python可以帮助做excel-超简单:用Python让Excel飞起
- MFC自用小工具源码
- 用python画风景图_数据分析与展示---Matplotlib基本绘图函数
- MySql·设置字符集编码
- jq 取 scrollHeight值
- 用python证明欧拉公式_欧拉公式怎么证明出来的?保证轻松让你看懂
热门文章
- python基础数据结构互转和2、8、10、16进制互转
- 05_DecisionTree_统计学习方法
- linux系统下修改某个文件夹下所有的文件权限
- 架构语言ArchiMate -应用层(Application Layer)
- 多线程生成的原因(Java内存模型与i++操作解析)
- Character Studio
- 《深入理解Linux内核》条目式笔记 _2
- 信息收集--IP扫描 (上篇)
- Ubuntu8.10安装小记
- c:\program files\microsoft visual studio\vc98\mfc\include\afxv_w32.h(14) : fatal error C1189: