При начальном нуле вычисляемый отступ станет нулевым на всех уровнях. Level хранит глубину, а не число посещённых узлов или индекс ребёнка.
Зачем передавать level при рекурсивном обходе дерева
При начальном нуле вычисляемый отступ станет нулевым на всех уровнях. Level хранит глубину, а не число посещённых узлов или индекс ребёнка.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Функция render(node, level=0) выводит строку с отступом level * 16 и вызывает детей с level+1. Что изменится, если всем детям передавать level без увеличения?
Ответ
При начальном нуле вычисляемый отступ станет нулевым на всех уровнях. Level хранит глубину, а не число посещённых узлов или индекс ребёнка.
У соседних узлов одной глубины level одинаковый. Увеличивать нужно значение, переданное конкретному ребёнку, а не общий счётчик между всеми ветками. Если DOM уже вложенный и отступ задаётся CSS родителя, визуальная вложенность может сохраниться независимо от level; это другой источник отступа.