Menu
CoddyTech

Maximum Depth of Binary Tree

Ti viene fornito un albero binario memorizzato nell'array tree in ordine per livello. La radice si trova all'indice 0, i figli del nodo all'indice i si trovano agli indici 2*i+1 (sinistro) e 2*i+2 (destro), -1 indica una posizione vuota e l'array può terminare con voci -1 aggiuntive. Restituisci la profondità massima dell'albero: il numero di nodi sul percorso più lungo dalla radice fino a una foglia.

Funzione

maxDepth(tree: integer-array) → integer
treeinteger-array
l’albero binario in ordine per livelli, con -1 per una posizione vuota
Restituisceinteger
il numero di nodi nel percorso più lungo dalla radice a una foglia

Vincoli

  • 1 ≤ tree.length ≤ 32767
  • Ogni tree[i] è -1 oppure un valore con 0 ≤ tree[i] ≤ 1000.
  • tree[0] non è mai -1, quindi l'albero ha almeno un nodo.
  • L'array può terminare con voci -1 aggiuntive dopo l'ultimo nodo.
  • Entrambi i figli di uno spazio vuoto sono vuoti a loro volta e la profondità è al massimo 14.

Esempi

Input
tree = [5, 8, 1, -1, 3, -1, -1, -1, -1, 6]
Output
4
Spiegazione
Il percorso più lungo è 5, 8, 3, 6 (indici 0, 1, 4, 9), che contiene 4 nodi. Il percorso che passa per 1 si ferma dopo 2 nodi.
challenge icon

Per approfondire

Come restituiresti i valori di un percorso radice-foglia più lungo e anche la sua lunghezza? Se più percorsi hanno la stessa lunghezza, quale restituiresti?

Ripristina il codice
def maxDepth(tree):
    # Scrivi il codice qui

Test #1

Test #2

Test #3

Argomento

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

Output atteso

4