Menu
CoddyTech

Maximum Depth of Binary Tree

Otrzymujesz drzewo binarne przechowywane w tablicy tree w kolejności poziomami. Korzeń znajduje się pod indeksem 0, dzieci węzła pod indeksem i znajdują się pod indeksami 2*i+1 (lewe) i 2*i+2 (prawe), -1 oznacza puste miejsce, a tablica może kończyć się dodatkowymi wpisami -1. Zwróć maksymalną głębokość drzewa: liczbę węzłów na najdłuższej ścieżce od korzenia do liścia.

Funkcja

maxDepth(tree: integer-array) → integer
treeinteger-array
drzewo binarne w kolejności poziomami, z wartością -1 oznaczającą puste miejsce
Zwracainteger
liczba węzłów na najdłuższej ścieżce od korzenia do liścia

Ograniczenia

  • 1 ≤ tree.length ≤ 32767
  • Każdy element tree[i] ma wartość -1 lub wartość z zakresu 0 ≤ tree[i] ≤ 1000.
  • tree[0] nigdy nie jest równe -1, więc drzewo ma co najmniej jeden węzeł.
  • Tablica może kończyć się dodatkowymi wpisami -1 za ostatnim węzłem.
  • Oba dzieci puste miejsca również są puste, a głębokość wynosi co najwyżej 14.

Przykłady

Wejście
tree = [5, 8, 1, -1, 3, -1, -1, -1, -1, 6]
Wyjście
4
Wyjaśnienie
Najdłuższa ścieżka to 5, 8, 3, 6 (indeksy 0, 1, 4, 9), która zawiera 4 węzły. Ścieżka przez 1 kończy się po 2 węzłach.
challenge icon

Pytanie dodatkowe

Jak zwrócić wartości z najdłuższej ścieżki od korzenia do liścia, a także jej długość? Jeśli kilka ścieżek ma tę samą długość, którą z nich zwrócisz?

Zresetuj kod
def maxDepth(tree):
    # Napisz kod tutaj

Test #1

Test #2

Test #3

Argument

tree = [5, 8, 1, -1, 3, -1, -1, -1, -1, 6]

Oczekiwany wynik

4