Ctrl K

Логическая схема в виде дерева

Лёгкая
Логическая схема записана двоичным деревом с корнем root. У каждой вершины либо ноль детей, либо ровно двое. - Лист — это вход схемы: значение 0 означает ложь, 1 — истину. - Внутренняя вершина — это вентиль: 2 означает ИЛИ, 3 — И. Вентиль применяет свою операцию к значениям левого и правого поддерева. Верните значение на выходе схемы, то есть значение корня, как True или False.
Пример 1
root=tree_node([3, 2, 1, 0, 1]) → True

Левый узел — ИЛИ над 0 и 1, даёт истину. Корень — И над этой истиной и правым листом 1, тоже истина.

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

Правый узел — ИЛИ над двумя нулями, это ложь. Корень — И, а одна из его половин ложна, значит, на выходе ложь.

Пример 3
root=tree_node([1]) → True

Схема из одного входа: выход равен самому входу.

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

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