root двоичного дерева. Глубина вершины — число рёбер от неё до корня. Нижний ряд дерева — все вершины с наибольшей глубиной.
Поддерево вершины — это она сама вместе со всеми её потомками. Найдите поддерево с наименьшим числом вершин, которое содержит весь нижний ряд, и верните его корень — проверяется всё поддерево целиком.root=tree_node([7, 2, 9, 4, 6, None, 1, None, None, 3, 8]) → [6, 3, 8]
Нижний ряд (глубина 3) — вершины 3 и 8, обе дети вершины 6. Самое маленькое поддерево, где есть они обе, — с корнем 6.
root=tree_node([5, 0, 11, 12, None, None, 13]) → [5, 0, 11, 12, None, None, 13]
Нижний ряд — 12 (под 0) и 13 (под 11). Вместе они встречаются только в корне 5, поэтому ответ — всё дерево.
root=tree_node([40, None, 30, 20]) → [20]
Внизу одна вершина — 20; поддерево из неё одной и есть ответ.
Node.val ≤ 500root=tree_node([7, 2, 9, 4, 6, None, 1, None, None, 3, 8])
[6, 3, 8]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 114 тестов на сервере, включая скрытые.