简体   繁体   English

二进制搜索树上的Javascript大小

[英]Javascript size on binary search tree

I have done this is c++ because you can pass in a parameter by reference. 我这样做是c ++,因为您可以通过引用传递参数。 I am having trouble figuring out how to do this in JavaScript. 我在弄清楚如何在JavaScript中执行此操作时遇到了麻烦。 What do I need to change in my code? 我需要更改我的代码吗? My output is 1 我的输出是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
}

Numbers cannot be passed by reference in Javascript. 数字不能通过Java引用进行传递。 Instead, have sizeHelper return the size and add that size to the total. 而是让sizeHelper返回大小并将该大小添加到总计中。

function sizeHelper(node) {
    if (node) {
        return 1 + sizeHelper(node.left) + sizeHelper(node.right);
    }
    return 0;
}

Then it can be used like 然后可以像

this.sizeOfBst = function() {
    return sizeHelper(this.root);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM