LeetCode437. Path Sum III
来源:互联网 发布:石家庄盛光网络怎么样 编辑:程序博客网 时间:2024/05/22 00:24
LeetCode437. Path Sum III
原题地址
题目描述
You are given a binary tree in which each node contains an integer value.
Find the number of paths that sum to a given value.
The path does not need to start or end at the root or a leaf, but it must go downwards (traveling only from parent nodes to child nodes).
The tree has no more than 1,000 nodes and the values are in the range -1,000,000 to 1,000,000.
Example:
root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8
10
/ \
5 -3
/ \ \
3 2 11
/ \ \
3 -2 1
Return 3. The paths that sum to 8 are:
1. 5 -> 3
2. 5 -> 2 -> 1
3. -3 -> 11
思路
这一题与之前的Path Sum 和 Path Sum ii 稍微有点区别。所选路径不是根结点到叶子结点,而是任意结点之间的路径。所有判断条件改为(node->val == sum),然后主函数中分别调用dfs函数求和即可。
代码实现
class Solution {public: int dfs(TreeNode* node, int sum){ int count = 0; if(node->val == sum){ count++; } count += dfs(node->left, sum-node->val); count += dfs(node->right, sum-node->val); return count; } int pathSum(TreeNode* root, int sum) { if(!root) return 0; return dfs(root, sum) + pathSum(root->left, sum) + pathSum(root->right, sum); }};
- LeetCode437. Path Sum III
- leetcode437. Path Sum III
- 437. Path Sum III
- 437. Path Sum III
- 437. Path Sum III
- Path Sum III
- 437. Path Sum III
- 437. Path Sum III
- Path Sum III
- 437. Path Sum III
- LeetCode-Path Sum III
- path sum iii-leetcode
- Path Sum III ---LeetCode
- Leetcode | Path Sum III
- 437. Path Sum III
- 437. Path Sum III
- Leetcode Path Sum III
- 437. Path Sum III
- android 学习笔记3-debug调试 数据库 事务 显示界面TextView
- 虚拟机Linux系统搭建lamp环境
- 微信小程序统计
- 按键精灵脚本简单介绍
- 追本溯源 —— 汉语词汇含义的演化
- LeetCode437. Path Sum III
- C++ string详解
- 图论算法----最短路径Bellman-Ford算法详解
- 静态顺序表和动态顺序表 对比
- 12.30js学习笔记
- 解决用Mysql 使用navicate远程连接数据库出现1045 access denied for user 'root'@'localhost' using password yes
- 页面跳转方法
- oracle表分区详解(按天、按月、按年等)
- 带你玩转Java之二十九Oracle-简单sql语句的操作(全汇总)