Metodo para contar o num de folhas numa BST

oi pessoal

o meu metodo conta o numero folhas numa BST mas esta a folhar porque???

private int contaNumFolhas(BSTNodo tree)
{ if(tree.left==null&&tree.right==null) return 1;

   if(tree.left==null||tree.right==null) return 1;
   
     if(tree.right==null) return 1;
        else
        return 	contaNumFolhas(tree.left)+contaNumFolhas(tree.right);

}

Alguma coisa não deveria retornar 0 aí?