我为此编写的代码:
sumBST(BST *root)
{
static sum =0;
if (root!= null)
{
if (root->left != null || root->right != null)
{
sum = sum + sumBST(root->left) + sumBST(root->right);
return sum;
}
else
{
root->data;
}
}
else
{
return 0;
}
return sum;
}
我通过绘制递归树来检查它似乎很好,但我仍然在某些时候感到困惑,我犯了一些错误。请纠正我我在这里做错了什么。