Ctrl K
Курс · шаг 40 из 79К шагуДальше

Деревья-близнецы

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

Форма и значения совпадают во всех вершинах.

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

Форма одинаковая, но 2 и 8 стоят с разных сторон от корня.

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

Значения те же, но во втором дереве ребёнок справа, а не слева.

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

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