二叉搜索树上的 JavaScript 大小

标签 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
}

最佳答案

在 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/

相关文章:

python - 递归二叉搜索树插入

javascript - 如何使用Puppeteer库抓取动态网页返回值?

html - 图像设置为适合 'grandparent' 但隐藏在 'parent' 内

python - wxPython中查找文本大小的正确方法

html - 使 div 小于其内容

c++ - 没有递归 C++ 的 AVL 树插入

javascript - jQuery 上传,bootstrap 不断覆盖我的 css

javascript - 如何在拖放图像后将图像缩放到 div 上的完整大小?

javascript - 查找特定位置的数字

algorithm - 给定一个 preOrder 和 inOrder 序列,可能有多少级阶 BST 序列?