Ciao a tutti, dovrei creare un metodo che, preso un albero binario t, cambi il contenuto delle foglie mettendo in esse la somma dei valori contenuti nei nodi del cammino dalla radice alla foglia stessa (incluso foglia e radice).
Ho scritto questo metodo ma quando lo eseguo va il loop e non capisco perchè..

codice:
void sumInLeaf(BinTree t) {
    sumLeaf(root, 0);
}


void sumInLeaf(BinTree t, int tot) {
    if(t.left == null && t.right == null)
        t.elem = tot;
    else {
        sumLeaf(t.left, tot + t.elem);
        sumLeaf(t.right, tot + t.elem);
    }
}
Qualcuno mi aiuta?

Grazie mille