LeetCode_Path Sum
2014-06-23 20:40
375 查看
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
return true, as there exist a root-to-leaf path
is 22.
这道题是一道很典型的DFS题目,题目一拿过来以为找到一个从根节点出发的路径,满足路径和为给定值就可以,结果贡献了一次WA,代码如下:
←
Newer
Older
→
Back to problem
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->2which sum
is 22.
这道题是一道很典型的DFS题目,题目一拿过来以为找到一个从根节点出发的路径,满足路径和为给定值就可以,结果贡献了一次WA,代码如下:
struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; class Solution { public: bool hasPathSum(TreeNode *root, int sum) { if (root==NULL){ return false; } bool result=false; hasPathSumDFS(root,sum,0,result); return result; } void hasPathSumDFS(TreeNode *root, const int &sum,int currentSum,bool &hasFound) { //证明遍历到叶子节点也没有找到Root to Leaf sum=sum的路径 if (root==NULL){ return; } //已经找到了满足条件的路径直接返回 if (hasFound){ return; } if (root->left!=NULL||root->right!=NULL) { hasPathSumDFS(root->left,sum,currentSum+root->val,hasFound); hasPathSumDFS(root->right,sum,currentSum+root->val,hasFound); } else{ if (root->val+currentSum==sum){ hasFound=true; } } } };
My Submissions for Path Sum
Submit Time | Status | Run Time | Language |
---|---|---|---|
30 minutes ago | Accepted | 72 ms | cpp |
33 minutes ago | Wrong Answer | N/A | cpp |
Newer
Older
→
Back to problem
相关文章推荐
- Leetcode: Path Sum
- leetcode--Path Sum
- 【LeetCode】Path Sum
- LeetCode 64. Minimum Path Sum
- LeetCode笔记:112. Path Sum
- Leetcode 112, Path Sum
- 【leetcode】【112】Path Sum
- Path Sum —— Leetcode
- LeetCode:Path Sum
- leetcode 112 Path Sum
- LeetCode·64. Minimum Path Sum
- LeetCode 112. Path Sum
- LeetCode题解——Path Sum
- <LeetCode OJ> 112/113. Path Sum(I / II)
- [LeetCode] Path Sum 二叉树的路径和
- leetcode笔记:Path Sum
- Leetcode 112 Path Sum
- LeetCode 64.Minimum Path Sum
- LeetCode -- 64. Minimum Path Sum
- LeetCode: Path Sum