Я пытаюсь понять, почему вывод консоли застрял в бесконечном цикле на листе, когда я использую вместо этого, если в коде ниже.Обход порядка двоичного дерева. Если vs while
void preOrder(Node root) {
Node n = root;
while(n != null) {
visit(n);
preOrder(n.left);
preOrder(n.right);
}
}
Когда рекурсивная функция для предзаказа вызывается в лист, лист не имеет левый child.Shouldn't выполнение останавливается.