Menu
CoddyTech

Maximum Depth of Binary Tree

Seviye sırasına göre tree dizisinde saklanan bir ikili ağaç alırsınız. Kök 0 dizininde bulunur, i dizinindeki düğümün çocukları 2*i+1 (sol) ve 2*i+2 (sağ) dizinlerinde bulunur, -1 boş bir konumu belirtir ve dizinin sonunda fazladan -1 girdileri olabilir. Ağacın maksimum derinliğini döndürün: kökten bir yaprağa giden en uzun yoldaki düğüm sayısı.

Fonksiyon

maxDepth(tree: integer-array) → integer
treeinteger-array
ikili ağacı seviye sırasına göre, boş bir konum için -1 kullanarak
Döndürürinteger
en uzun kökten yaprağa yol üzerindeki düğüm sayısı

Kısıtlar

  • 1 ≤ tree.length ≤ 32767
  • Her tree[i], -1 veya 0 ≤ tree[i] ≤ 1000 koşulunu sağlayan bir değerdir.
  • tree[0] hiçbir zaman -1 değildir, dolayısıyla ağaçta en az bir düğüm vardır.
  • Dizi, son düğümden sonra fazladan -1 girdileriyle bitebilir.
  • Boş bir noktanın her iki çocuğu da boştur ve derinlik en fazla 14 olur.

Örnekler

Girdi
tree = [5, 8, 1, -1, 3, -1, -1, -1, -1, 6]
Çıktı
4
Açıklama
En uzun yol 5, 8, 3, 6 (0, 1, 4, 9 indeksleri) olup 4 düğümden oluşur. 1 üzerinden geçen yol 2 düğümden sonra sona erer.
challenge icon

Ek soru

En uzun kökten yaprağa giden yol üzerindeki değerleri ve bu yolun uzunluğunu nasıl döndürürdünüz? Birden fazla yol eşit uzunluktaysa hangisini döndürürdünüz?

Kodu sıfırla
def maxDepth(tree):
    # Kodu buraya yazın

Test #1

Test #2

Test #3

Argüman

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

Beklenen Çıktı

4