第六周:[Leetcode]112. Path Sum
2017-04-01 00:25
369 查看
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.
For example:Given the below binary tree and sum = 22,
5
/ \
4 8
/ / \
11 13 4
/ \ \
7 2 1
return true, as there exist a root-to-leaf path 5->4->11->2 which sum is 22.
进行DFS,注意一定是要到叶子节点的路径之和,非叶子节点的不算。
For example:Given the below binary tree and sum = 22,
5
/ \
4 8
/ / \
11 13 4
/ \ \
7 2 1
return true, as there exist a root-to-leaf path 5->4->11->2 which sum is 22.
进行DFS,注意一定是要到叶子节点的路径之和,非叶子节点的不算。
class Solution { public: bool hasPathSum(TreeNode* root, int sum) { if(root == NULL) return false; return dfs(root,sum); } bool dfs(TreeNode* p, int sum){ if(p == NULL) return false; sum -= p -> val; if((sum == 0) && (p -> left == NULL) && (p -> right == NULL)) return true; return dfs(p -> left, sum) || dfs(p -> right,sum); } };
相关文章推荐
- LeetCode 112. Path Sum
- leetcode 112. Path Sum
- 【LeetCode】 112. Path Sum
- LeetCode 112. Path Sum(路径和)
- Leetcode 112. Path Sum
- leetcode 112. Path Sum
- LeetCode 112. Path Sum
- LeetCode *** 112. Path Sum
- 【LeetCode】112. Path Sum
- LeetCode 112. Path Sum
- [LeetCode]112. Path Sum(判断二叉树根到叶路径和是否等于sum)
- LeetCode-112. Path Sum
- 【LeetCode】112.Path Sum(Easy)解题报告
- 【Leetcode】112. Path Sum
- 【LeetCode】112. Path Sum Java,C++,解法及注释
- LeetCode 112. Path Sum
- LeetCode 112. Path Sum
- leetcode-112. Path Sum
- Leetcode 112. Path Sum
- LeetCode-112. Path Sum