Ctrl K

Единственные дети

Лёгкая
Дан корень двоичного дерева root. Узел называется единственным ребёнком, если у его родителя нет второго ребёнка. Корень единственным ребёнком не считается: у него вообще нет родителя. Верните значения всех узлов, которые являются единственными детьми. Порядок значений любой.
Пример 1
root=tree_node([5, 8, 2, None, 9, 4, 6, 3]) → [9, 3]

У 8 есть только правый ребёнок 9, у 9 — только левый 3: оба единственные дети. У 2 двое детей (4 и 6), а 5 — корень, у него нет родителя.

Пример 2
root=tree_node([10, 20, 30]) → []

У корня два ребёнка, так что единственных детей в дереве нет.

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

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