LeetCode 437. Path Sum III
来源:互联网 发布:蓝月传奇官印升级数据 编辑:程序博客网 时间:2024/06/11 02:09
题意解析
在给定的二叉树中找到这样的路径,所有元素的和等于给定整数。
路径不一定从根节点出发,到叶节点结束。而只要它满足是从上至下的。
找出所有路径的数量。
Accepted Solution
/** * 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 pathSum(TreeNode* root,int sum) { if(root==NULL) return 0; return dfs(root,sum)+pathSum(root->left,sum)+pathSum(root->right,sum); } int dfs(TreeNode* root,int sum) { int result=0; if(root==NULL) { return 0; } if(root->val==sum) { result++; } result+=(dfs(root->left,sum-root->val)+dfs(root->right,sum-root->val)); return result; }}
使用了两个递归函数,pathSum是求从所有节点出发的满足条件的路径数的和;dfs是寻找从某个节点开始的满足条件的路径的数量。
阅读全文
0 0
- LeetCode 437. Path Sum III
- LeetCode 437. Path Sum III
- LeetCode 437. Path Sum III
- leetcode 437. Path Sum III
- [LeetCode]437. Path Sum III
- 【LeetCode】 437. Path Sum III
- [leetcode]437. Path Sum III
- LeetCode 437. Path Sum III
- [leetcode]437. Path Sum III
- [LeetCode]437. Path Sum III
- Leetcode-437. Path Sum III
- Leetcode-437. Path Sum III
- LeetCode-437. Path Sum III
- 【Leetcode】437. Path Sum III
- 【Leetcode】437. Path Sum III
- Leetcode 437. Path Sum III
- [LeetCode]437. Path Sum III
- [leetcode]: 437. Path Sum III
- Mybatis中查询条件为map中嵌套list
- 彻底删除Oracle11g
- Windows下批处理修改文件名
- C#中静态方法和非静态方法的区别
- 2017美团点评前端开发岗位面试题
- LeetCode 437. Path Sum III
- 笔试复习_C++_指针(二)
- because its architectures 'arm64' didn't contain all required architectures 'armv7 arm64'
- UVA 131
- SQL Server on Linux入门教程
- Hive原理
- 第12章 无穷级数
- UOJ195,【ZJOI2016】大♂森林
- loadrunner录制脚本时IE浏览器打不开的问题解决办法汇总