Я пытаюсь выяснить, как закодировать рекурсивный алгоритм для подсчета количества листьев в двоичном дереве (не полное дерево). Я добираюсь до самого левого листа и не знаю, что вернуться оттуда. Я пытаюсь получить счет, загружая листья в список и получая размер этого списка. Вероятно, это плохой способ подсчета.Рекурсивно подсчитывать количество листьев в двоичном дереве без заданных параметров
public int countLeaves () {
List< Node<E> > leafList = new ArrayList< Node<E> >();
//BinaryTree<Node<E>> treeList = new BinaryTree(root);
if(root.left != null)
{
root = root.left;
countLeaves();
}
if(root.right != null)
{
root = root.right;
countLeaves();
}
if(root.left == null && root.right == null)
{
leafList.add(root);
}
return();
}
Вы уверены, что хотите изменить свой корневой узел просто подсчитать ваши номера отпусков? – HuStmpHrrr