Ctrl K

Одинаковые листья

Лёгкая
Пройдём по листьям двоичного дерева (вершинам без детей) слева направо и выпишем их значения — получится последовательность листьев. Даны корни двух деревьев first и second. Верните True, если их последовательности листьев совпадают полностью, включая порядок, и False иначе. Внутренние вершины и форма деревьев при этом не важны.
Пример 1
first=tree_node([4, 2, 9, 1, 3]), second=tree_node([7, 1, 8, None, None, 3, 9]) → True

Листья первого дерева слева направо: 1, 3, 9. У второго — тоже 1, 3, 9, хотя форма деревьев разная.

Пример 2
first=tree_node([5, 6, 2]), second=tree_node([5, 2, 6]) → False

Листья те же, но порядок другой: 6, 2 против 2, 6.

Пример 3
first=tree_node([10]), second=tree_node([3, 10]) → True

Корень без детей сам является листом, так что в обоих деревьях один лист — 10.

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

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