Path SumTotal accepted:81706 Total submissions:269391 difficulty:easy
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.
/** Definition for a binary tree node. * struct TreeNode {* int val; * TreeNode *left; * TreeNode *right; * TreeNode (int x): Val (x), left (null), right (NULL) {} *}; */classSolution { Public: BOOLHaspathsum (treenode* root,intSumintcursum) { if(!root)return false; Cursum+ = Root->Val; if(Root->left==null && root->right==NULL) {cout<<curSum<<Endl; if(cursum = = SUM)return true; return false; } returnHaspathsum (root->left,sum,cursum) | | Haspathsum (root->right,sum,cursum); } BOOLHaspathsum (treenode* root,intsum) { returnHaspathsum (Root,sum,0); }};Next challenges: (m) path Sum II (H) Binary Tree Maximum Path sum (m) sum Root to Leaf Numbers Path Sum IITotal accepted:65371 Total submissions:240118 difficulty:medium
Given a binary tree and a sum, find all root-to-leaf paths where each path ' s sum equals the Given sum.
For example:
Given the below binary tree and
sum = 22,
5 / 4 8 / / / 4 / \ / 7 2 5 1
Return
[ [5,4,11,2], [5,8,4,5]]
/** Definition for a binary tree node. * struct TreeNode {* int val; * TreeNode *left; * TreeNode *right ; * TreeNode (int x): Val (x), left (null), right (NULL) {} *}; */classSolution {Private: voidPathsum (treenode* root, vector<vector<int>>& Res, vector<int>& Oneres,intSumintcursum) { if(!root)return; Cursum+ = Root->Val; Oneres.push_back (Root-val); if(!root->left &&!root->Right ) { if(Cursum = =sum) {Res.push_back (oneres); } oneres.pop_back (); return; } pathsum (Root-left,res,oneres,sum,cursum); Pathsum (Root-right,res,oneres,sum,cursum); Oneres.pop_back (); } Public: Vector<vector<int>> pathsum (treenode* root,intsum) {Vector<vector<int>>Res; Vector<int>Oneres; Pathsum (Root,res,oneres,sum,0); returnRes; }};
Path Sum,path Sum II