私がこれのために書いたコード:
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;
}
再帰ツリーを描いて確認したのは良さそうですが、それでもある時点で混乱してしまい、ミスをしてしまいました。私がここで何か間違ったことをしているのを訂正してください。