root двоичного дерева, заполненного плотно: все уровни, кроме, может быть, последнего, заполнены целиком, а вершины последнего уровня стоят подряд, начиная с самого левого места.
Верните количество вершин в дереве.
Обойти все вершины — это O(n). Используйте форму дерева и уложитесь быстрее.root=tree_node([4, 9, 2, 7, 1]) → 5
Два верхних уровня заполнены целиком (3 вершины), на нижнем уровне две вершины прижаты влево: всего 5.
root=tree_node([]) → 0
Пустое дерево — ноль вершин.
root=tree_node([6, 3, 8, 0, 5, 2, 9]) → 7
Все три уровня заполнены: 1 + 2 + 4 = 7.
Node.val ≤ 5·10⁴root=tree_node([4, 9, 2, 7, 1])
5
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 49 тестов на сервере, включая скрытые.