[英]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.