root двоичного дерева. Глубина корня равна 0, глубина ребёнка на единицу больше глубины родителя. Лист — вершина без детей.
Найдите самые глубокие листья дерева и вершину, в которой сходятся пути от них к корню и которая при этом расположена как можно ниже. Иначе говоря, это самая глубокая вершина, в поддереве которой лежат все самые глубокие листья (вершина считается лежащей в собственном поддереве).
Верните эту вершину — проверяется всё поддерево, которое она задаёт.root=tree_node([10, 4, 7, 1, None, 3, 8, 6, None, None, None, 2]) → [10, 4, 7, 1, None, 3, 8, 6, None, None, None, 2]
Самые глубокие листья — 6 (под 1) и 2 (под 8), оба на глубине 3. Ниже всего они сходятся в корне 10, поэтому ответ — всё дерево.
root=tree_node([5, 9, 2, None, None, 11, 14]) → [2, 11, 14]
Самые глубокие листья — 11 и 14, их общий предок — вершина 2. Возвращаем поддерево с корнем 2.
root=tree_node([3, 0, None, None, 12]) → [12]
Самый глубокий лист один — 12. Для одной вершины ответ — она сама.
Node.val ≤ 1000root=tree_node([10, 4, 7, 1, None, 3, 8, 6, None, None, None, 2])
[10, 4, 7, 1, None, 3, 8, 6, None, None, None, 2]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 95 тестов на сервере, включая скрытые.