Path SumTotal Accepted: 31405 Total Submissions: 104326 My SubmissionsQuestionSolution
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.
Show TagsHas you met this question in a real interview?Yes No
Discuss
/** * Definition for binary tree * struct TreeNode {* int val; * TreeNode *left; * TreeNode *right; * Tre Enode (int x): Val (x), left (null), right (NULL) {} *}; */class Solution {public: int flag=0; BOOL Haspathsum (TreeNode *root, int sum) { if (root==null) return false; Pathsum (root,0,sum); if (flag==1) return true; else return false; } int Pathsum (TreeNode *root,int res,int sum) { if (root==null) return 0; res+=root->val; int l=pathsum (root->left,res,sum); int r=pathsum (root->right,res,sum); if ((l+r) ==0&&res==sum) { flag=1; }} };
Leetcode-path Sum