我有,我試圖分析其輸出是一個函數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
這是完美的! –
爲了清楚起見,我添加了一些關於遞歸的基本原理。 –