2016-11-05 3 views
0

Я сделал это C++, потому что вы можете передать параметр по ссылке. Мне трудно понять, как это сделать в 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); 
} 
Смежные вопросы