437. Path Sum III
2017-07-17 15:08
344 查看
题目描述【Leetcode】
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:
5 -> 3
5 -> 2 -> 1
-3 -> 11
求满足路径和为sum的路径条数:
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:
5 -> 3
5 -> 2 -> 1
-3 -> 11
求满足路径和为sum的路径条数:
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ int f(TreeNode* root, int sum) { if(!root) return 0; int count = 0; if(root->val == sum) count++; count += f(root->left,sum-root->val)+f(root->right,sum-root->val); return count; } class Solution { public: int pathSum(TreeNode* root, int sum) { int count = 0; if(!root) return 0; count = count + f(root,sum)+ pathSum(root->left,sum)+pathSum(root->right,sum); return count; } };
相关文章推荐
- 437. Path Sum III
- leetcode(437):Path Sum III
- 437. Path Sum III
- LeetCode 437 Path Sum III 题解
- 437. Path Sum III
- 437. Path Sum III
- 437. Path Sum III
- 437. Path Sum III
- [437]. Path Sum III,[687]. Longest Univalue Path
- leetcode-437-Path Sum III
- 437. Path Sum III
- 437. Path Sum III
- 437. Path Sum III
- 437. Path Sum III
- LeetCode.112(113/437) Path Sum I && II && III
- 437. Path Sum III
- 437. Path Sum III
- 437. Path Sum III
- 437. Path Sum III
- LeetCode 437 Path Sum III