我这样做是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
}
答案 0 :(得分:1)
在Javascript中无法通过引用传递数字。相反,让sizeHelper
返回大小并将该大小添加到总数中。
function sizeHelper(node) {
if (node) {
return 1 + sizeHelper(node.left) + sizeHelper(node.right);
}
return 0;
}
然后它可以像
一样使用this.sizeOfBst = function() {
return sizeHelper(this.root);
}