![](/img/trans.png)
[英]Number of additions in a recursive function without using global variables in c++
[英]Recursive call without global variables or function parameters
因此,我们完成了一项作业,对二进制搜索树中的节点进行计数,但是由于我们获得了一个不应该更改的预制模板,因此我们不允许使用全局变量或函数参数。 我知道如何使用全局变量和函数参数来执行此操作,但是如果不使用全局变量和函数参数,则无法执行该操作,因为我无法使用局部变量。
我的代码现在:
int count() const
{
int st = 1;
if (left != NULL) {
st++;
left->count();
}
if (right != NULL) {
st++;
right->count();
}
return st;
}
您可以汇总对各个子树(如果可用)的递归调用所提供的返回值:
int count() const
{
if (left != NULL && right != NULL)
return 1+left->count()+right->count();
else if (left != NULL)
return 1+left->count();
else if (right != NULL)
return 1+right->count();
else
return 1;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.