我用 C++ 完成了这个,因为你可以通过引用传递参数。我无法弄清楚如何在 JavaScript 中执行此操作。我的代码需要更改什么?我的输出是1
this.sizeOfBst = function(){
size = 0;
return sizeHelper(this.root, size);
}
function sizeHelper(node, size){
if(node){
sizeHelper(node.left, size);
size++;
sizeHelper(node.right, size);
}
return size
}
最佳答案
在 Javascript 中数字不能通过引用传递。相反,让 sizeHelper
返回大小并将该大小添加到总数中。
function sizeHelper(node) {
if (node) {
return 1 + sizeHelper(node.left) + sizeHelper(node.right);
}
return 0;
}
然后就可以这样使用了
this.sizeOfBst = function() {
return sizeHelper(this.root);
}
关于二叉搜索树上的 JavaScript 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40442279/