← К задачам
Тяжело · +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

Примечание

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

def is_val_in_tree(tree, value):
	
Для запуска тестов необходима авторизация.
Поддержать проект