问题在于确定子数据的总和是否等于父数据。如果是这样,则返回true,否则返回false。
下面是我的代码,提交时出现错误。我知道这是一个简单的问题,但是在编写条件之后,我很难遍历所有左右节点来递归地检查二叉树中每个节点的求和条件。
int isSumProperty(Node *node)
{
if(node == NULL) return 0;
if((node->left->data + node->right->data) == node->data)
{
return 1;
}
else
{
return isSumProperty(node->left)&&isSumProperty(node->right);
}
}
请指导我做错了什么地方。
答案 0 :(得分:0)
您在访问e
时未确保node->left->data
不是node->left
。
这会导致细分错误。