leetcode 112 : 路径总和
题目
算法思想 :我们采用dfs的思想,如果到达叶子结点且路径和等于sum, 返回true否则都返回false。
bool dfs(TreeNode* root,int rev,int sum)
{
if(root == NULL)
if(rev == sum)
return true;
else
return false;
if(root->left == NULL && root->right != NULL)
return dfs(root->right,rev+root->val,sum);
if(root->left != NULL && root->right == NULL)
return dfs(root->left,rev+root->val,sum);
return ( dfs(root->left,rev+root->val,sum) || dfs(root->right,rev+root->val,sum) );
}
bool hasPathSum(TreeNode* root, int sum) {
if(root == NULL)
return false;
return dfs(root,0,sum);
}