Ctrl K

Путь до листа с нужной суммой

Лёгкая
Дан корень двоичного дерева root и целое число total. Верните True, если в дереве есть путь от корня до какого-нибудь листа, на котором сумма значений вершин равна total, иначе False. Лист — вершина без детей. Путь обязательно начинается в корне и заканчивается в листе: обрываться на полпути нельзя.
Пример 1
root=tree_node([3, 9, -2, None, None, 4, 6]), total=7 → True

Путь 3 → -2 → 6 даёт 7, и 6 — лист.

Пример 2
root=tree_node([2, 5]), total=2 → False

Корень 2 не лист — у него есть ребёнок 5. Единственный путь до листа 2 → 5 даёт 7.

Пример 3
root=tree_node([]), total=0 → False

В пустом дереве нет ни одного пути.

Ограничения
  • Число вершин от 0 до 5000
  • -1000 ≤ значение вершины ≤ 1000
  • -1000 ≤ total ≤ 1000
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДеревья-близнецы ЛёгкаяДерево-зеркало ЛёгкаяВысота дерева ЛёгкаяГлубина ближайшего листа ЛёгкаяДерево в зеркале Лёгкая
загружаем Python…
Вход
root=tree_node([3, 9, -2, None, None, 4, 6]), total=7
Ожидается
True

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 78 тестов на сервере, включая скрытые.