Я знаю, как сделать это рекурсивно:Подсчет узлов бинарного дерева без рекурсии Python
def num_nodes(tree):
if not tree.left and not tree.right:
return 1
else:
return 1 + num_nodes(tree.left) + num_nodes(tree.right)
Но как бы вы это не рекурсивно? Возникли проблемы с доступом к узлу, который находится справа от левого поддерева.
Что вы подразумеваете под «Проблемы с доступом к узлу, который находится справа от левого поддерева»? – Joe