二叉搜索树上的Javascript大小

时间:2016-11-05 19:24:37

标签: javascript size binary-search-tree

我这样做是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
}

1 个答案:

答案 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);
}