我有,我试图分析其输出是一个函数7:请问这个函数计算二叉树的节点数
鉴于这个代码块:
int func_1(struct node* node)
{
if (node == NULL)
return 0;
else
return func_1(node->left) + 1 + func_1(node->right);
}
返回值是7
我知道递归,这里有点简单,我试图跟进,我不明白它是如何返回7.我计算出它只是左,左,然后一次正确,就是这样。这将返回3.即使它正确的3倍,根后,它仍然会返回6而不是7.
你能帮我一下吗?
这是我的确切解释!清楚并且重点。 – Module
这是完美的! –
为了清楚起见,我添加了一些关于递归的基本原理。 –