【发布时间】:2018-05-16 16:40:47
【问题描述】:
我写了这段代码,它似乎可以工作,但是当我重新分析它时,我想知道数据(最小)是如何返回到主函数的?
给定这个二叉树:
17
14 19
12 18 20
13 21
还有这段代码:
struct Node {
int data;
Node* left;
Node* right;
};
int min(Node* root) {
if(root == NULL)
return 0;
else if(root->left == NULL)
return root->data;
else
min(root->left);
}
最后一次调用min(Node*) 将返回root->data,但调用者在min(root->left) 中没有return。所有的returns 已经在之前的min(Node*) 中被跳过了。
【问题讨论】:
-
"我写了这段代码,它可以工作" -> "我写了这段代码,它似乎可以工作"。
标签: c++ data-structures return binary-search-tree