Ctrl K

Самый широкий уровень дерева

Средняя
Дан корень root непустого двоичного дерева. Ширина уровня — это число позиций от самого левого до самого правого узла этого уровня включительно, причём считаются и пустые места между ними: те позиции, где стоял бы узел, если бы дерево до этого уровня было полным. Верните наибольшую ширину среди всех уровней.
Пример 1
root=tree_node([8, 2, 6, None, 4, 5, None]) → 2

На уровне 2 стоят узлы 4 (правый ребёнок 2) и 5 (левый ребёнок 6). Между ними нет пропусков, ширина 2.

Пример 2
root=tree_node([1, 7, 3, 9, None, None, 2]) → 4

На уровне 2 крайние узлы 9 и 2; между ними в полном дереве поместились бы ещё два, ширина 4.

Пример 3
root=tree_node([0]) → 1
Ограничения
  • Число узлов — от 1 до 3000
  • -100 ≤ значение узла ≤ 100
  • Ответ помещается в 32-битное знаковое целое
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДерево глазами наблюдателя справа СредняяДерево по столбцам СредняяПервый на нижнем этаже СредняяМаксимум на каждом уровне дерева СредняяВставить уровень в дерево Средняя
загружаем Python…
Вход
root=tree_node([8, 2, 6, None, 4, 5, None])
Ожидается
2

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 98 тестов на сервере, включая скрытые.