← К задачам
Тяжело · +6ВалидацияРекурсияСтруктуры данных

Найти значение в бинарном дереве

Список, представляющий бинарное дерево:

binary_tree = [value, list_left, list_right]

list_left — левая часть дерева,list_right — правая.

Наглядно:

list1 = [3, [ 8, [ 5, None, None], None], [ 7, None, None]]

# list1 в виде бинарного дерева:

                    3
                   / \
                  8   7
                 /\   /\
                5  N N  N
               /\
               N N

# N — None.

Напишите функцию, которая принимает список в качестве бинарного дерева и число. Если число содержится в дереве, то функция должна вернуть True, если нет — False.

Примеры

is_val_in_tree(list1, 5) ➞ True

is_val_in_tree(list1, 9) ➞ False

is_val_in_tree(lst2, 51) ➞ False

Примечание

Дерево содержит только целые числа и представляет собой список определенного формата.

py
Курс по теме
Пройдите курс «Python с нуля» — по шагам, с проверкой
8 уроков · ~14 ч · теория, упражнения и экзамен с бейджем
Открыть курс →
def is_val_in_tree(tree, value):
	
Здесь появится результат. Напиши решение слева и нажми «Проверить код».
Для запуска тестов необходима авторизация.