[BUG] Soma Valores nós folha Trees

Aloha…

Eu preciso de um método que faça a soma dos valores de todos os nós folha:

int sumLeafValues(Node root)

Como os nós folha são aqueles cuja referência esquerda e direita são null…
Eu estava fazendo assim…


 int sumLeafValues(Node root){
   int sum=0;
  if(root == null) return 0;

    else if( (root.left == null) && (root.right == null) ) 
        return root.value;
    else     {
        if(root.left != null)
        {  
                sum += sumLeafValues( root.left ); 
            }    
        if(root.right != null)
        {  
                sum += sumLeafValues( root.right ); 
                
            }    
        return sum; 
}
      

Mas não está funcionando como deve ser… o que estou fazendo de errado ?

Obrigadão…