Код Middle Деревья обновлено
Сумма значений дерева
Условие
Дерево из узлов { value, left?, right? }. Верни сумму всех значений. Проговори итеративный вариант со стеком.
Что проверяют тесты
сумма дерева
один узел
пустое дерево
только левая ветка
Как подойти
Простая рекурсия, но интервьюер почти наверняка попросит итеративный вариант: стек с узлами, пока стек непуст - снимаем, прибавляем значение, кладём детей. Преимущество итеративного - не упирается в глубину стека вызовов на вырожденном дереве-цепочке; на глубине в десятки тысяч рекурсия упадёт с RangeError. Проверка if (!node) покрывает и null, и undefined.
Подсказки: 2
- База рекурсии - отсутствующий узел даёт ноль.
- Отсутствующие ветки могут быть undefined, а не null.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.