Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- http://leetcode.com/onlinejudge#question_112
- 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.
- */
- class Solution {
- public:
- bool hasPathSum(TreeNode *root, int sum) {
- if(!root) { return false; }
- const int S = sum - root->val;
- if(!root->left && !root->right && 0==S)
- {
- return true;
- }
- bool L = hasPathSum(root->left, S);
- if(L) { return true; }
- return hasPathSum(root->right, S);
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment