Задача 3: Максимальная глубина бинарного дерева

Напишите определение функции def max_depth(root), которая принимает на вход бинарное дерево root, представленное в виде вложенных списков, и возвращает его максимальную глубину.

Бинарное дерево в виде вложенных списков представляется следующим образом:

  • Узел дерева имеет вид [значение, левое_поддерево, правое_поддерево].
  • Если у узла нет поддерева, оно заменяется на None.

Например:

  • Дерево:

        3
       / \
      9  20
         / \
        15  7
    

    представляется как: [3, [9, None, None], [20, [15, None, None], [7, None, None]]].

  • Дерево:

        1
         \
          2
    

    представляется как: [1, None, [2, None, None]].

Задача:

Функция должна находить максимальную глубину бинарного дерева — это количество узлов вдоль самого длинного пути от корневого узла до самого дальнего листа.

Примеры:

  1. Вход: root = [3, [9, None, None], [20, [15, None, None], [7, None, None]]]
    Выход: 3
  2. Вход: root = [1, None, [2, None, None]]
    Выход: 2

0

Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии