Menu
CoddyTech

Maximum Depth of Binary Tree

Seviye sırasına göre tree dizisinde saklanan bir ikili ağaç veriliyor. 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 yeri belirtir ve dizinin sonunda fazladan -1 girdileri bulunabilir. 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ğaç, seviye sırasına göre; boş konumlar için -1
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, bu nedenle ağacın 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üğüm içerir. 1 üzerinden geçen yol 2 düğümden sonra sona erer.

lock iconGönderirken +13 gizli test

challenge icon

Ek soru

Kökten yaprağa en uzun yoldaki değerleri, yalnızca uzunluğunu değil, nasıl döndürürdünüz? Birkaç yol eşit uzunluktaysa hangisini döndürürdünüz ve bunu sözleşmede nasıl belirtirdiniz?

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

Durum 1

Durum 2

Durum 3

Girdi

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

Beklenen

4