2016-11-05 76 views
0

我已經完成了這項工作,因爲您可以通過引用傳遞參數。我無法弄清楚如何在JavaScript中做到這一點。我需要在我的代碼中更改什麼?我的輸出是1二叉搜索樹上的Javascript大小

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

不能在Javascript中通過引用傳遞數字。相反,請sizeHelper返回大小並將該大小添加到總數中。

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

然後,它可用於像

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