题目

算法思想 :我们采用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);
}
本文介绍了一种利用深度优先搜索(DFS)解决二叉树中是否存在从根节点到叶子节点的路径使得沿途经过的节点值之和等于给定目标值的问题。通过递归的方式遍历左右子树,并累加节点值来判断是否达到目标和。
808

被折叠的 条评论
为什么被折叠?



