Ctrl K

Уровни с чередованием чётности

Средняя
Дан корень root двоичного дерева. Уровни нумеруются с нуля: корень — уровень 0, его дети — уровень 1 и так далее. Назовём дерево чередующимся, если: - на каждом уровне с чётным номером все значения нечётные и строго возрастают слева направо; - на каждом уровне с нечётным номером все значения чётные и строго убывают слева направо. Верните True, если дерево чередующееся, и False иначе.
Пример 1
root=tree_node([7, 8, 2, 1, 5, None, 9]) → True

Уровень 0: [7] — нечётное. Уровень 1: [8, 2] — чётные и убывают. Уровень 2: [1, 5, 9] — нечётные и возрастают. Всё сходится.

Пример 2
root=tree_node([3, 4, 6]) → False

На уровне 1 значения чётные, но идут по возрастанию (4, затем 6), а должны строго убывать.

Пример 3
root=tree_node([2]) → False

Корень лежит на уровне 0, а там нужны нечётные значения.

Ограничения
  • Число вершин — от 1 до 10⁵
  • 1 ≤ Node.val ≤ 10⁶
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДерево по этажам СредняяЗмейка по уровням дерева СредняяУровни дерева снизу вверх СредняяДерево глазами наблюдателя справа СредняяДерево по столбцам Средняя
загружаем Python…
Вход
root=tree_node([7, 8, 2, 1, 5, None, 9])
Ожидается
True

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