Path Sum
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such this 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 / / / 4 / \ 7 2 1
Return true, as there exist a root-to-leaf path 5->4->11->2
which sum is 22.
Problem Solving Ideas:
Test instructions to determine whether there is a path from the root to the leaf and for the given path. Recursion can be. Note that if you give an empty tree and 0, you should return false.
/** * Definition for a binary tree node. * 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; } if (root->left==null&&root->right==null&&sum==root->val) { return true; } if (root->left!=null) { if (haspathsum (Root->left, Sum-root->val)) { return true; } } if (root->right!=null) { if (haspathsum (Root->right, Sum-root->val)) { return true; } } return false; }};
[Leetcode] Path Sum