Код Middle Деревья обновлено

Сумма значений дерева

Условие

Дерево из узлов { value, left?, right? }. Верни сумму всех значений. Проговори итеративный вариант со стеком.

Что проверяют тесты

  • сумма дерева

  • один узел

  • пустое дерево

  • только левая ветка

Как подойти

Простая рекурсия, но интервьюер почти наверняка попросит итеративный вариант: стек с узлами, пока стек непуст - снимаем, прибавляем значение, кладём детей. Преимущество итеративного - не упирается в глубину стека вызовов на вырожденном дереве-цепочке; на глубине в десятки тысяч рекурсия упадёт с RangeError. Проверка if (!node) покрывает и null, и undefined.

Подсказки: 2
  1. База рекурсии - отсутствующий узел даёт ноль.
  2. Отсутствующие ветки могут быть undefined, а не null.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме