Вопрос

Учитывая root бинарного дерева, вернуть порядок обхода значений его узлов. (то есть слева направо, уровень за уровнем).

Пример 1:

Input: root = [3,9,20,null,null,15,7]
Output: [[3],[9,20],[15,7]]

Пример 2:

Input: root = [1]
Output: [[1]]

Пример 3:

Input: root = []
Output: []

Ограничения:

  • Количество узлов в дереве находится в диапазоне [0, 2000].
  • -1000 <= Node.val <= 1000

Java-решение

Временная сложность решения ниже
O(n), внутренний цикл будет проходить через каждый узел дерева, а внешний цикл будет выполняться для каждого уровня, т.е. O(log n). Игнорируя внешний цикл, мы получаем O(n) как основную временную сложность этого кода.

Код