您的当前位置:首页正文

#数据结构 给定一个二叉树和一个数值,判断该树中是否存在根节点到叶子结点的路径上所有结点值之和等于这个数值

来源:爱站旅游
导读#数据结构 给定一个二叉树和一个数值,判断该树中是否存在根节点到叶子结点的路径上所有结点值之和等于这个数值

//给定一个二叉树和一个数值,判断该树中是否存在根节点到叶子结点的路径上所有结点值之和等于这个数值
bool hasPathSum(struct TreeNode* root, int sum){
if(rootNULL){ //空树返回错误
return false;
}else if(root->left
NULL&&root->rightNULL&&root->valsum){ //当前结点为叶子节点并且数值相等返回ttrue
return true;
}else{
//左右递归,sum每次都减去当前结点的数值,因为如果有路径当减到最后一个时sum的剩余量肯定等于最后一个叶节点的数值
return hasPathSum(root->left,sum-root->val)||hasPathSum(root->right,sum-root->val);
}

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Top