Menu
CoddyTech

Binary Tree Right Side View

root dizisi bir ikili ağacı tutar. 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 sonda fazladan -1 girdileri bulunabilir.

Ağaca sağ tarafından bak. Her seviye sana tam olarak bir düğüm gösterir: en sağdakini; diğerlerini ise gizler. Bu değerleri kökün bulunduğu seviyeden en derin seviyeye kadar sırala.

Fonksiyon

rightSideView(root: integer-array) → integer-array
rootinteger-array
yığın sırasındaki ağaç, boş bir konum için -1 ile
Döndürürinteger-array
her düzeyin en sağdaki değeri, önce en üst düzey

Kısıtlar

  • 1 ≤ root.length ≤ 32767
  • Her root[i], -1 ya da 0 ≤ root[i] ≤ 104 koşulunu sağlayan bir değerdir.
  • Düğüm değerleri birbirinden farklıdır.
  • root[0] asla -1 olmaz, bu nedenle ağacın en az bir düğümü vardır.
  • Dizi, son düğümün ardından fazladan -1 girdileriyle sona erebilir.
  • Boş bir noktanın her iki çocuğu da boştur ve ağacın en fazla 14 seviyesi vardır.

Örnekler

Girdi
root = [5, 2, 9, 7, 4, -1, 1, -1, 3]
Çıktı
[5, 9, 1, 3]
Açıklama
Sağdan 5, 9 ve 1 (indeks 6) görürsünüz. Dördüncü seviyede yalnızca sol alt ağaçta 7'nin altında, 8. indekste bulunan 3 yer alır. Sağ tarafta bu derinliğe ulaşan başka bir şey olmadığı için 3 görünür.
challenge icon

Ek soru

Her düğümün soldan sağa sıralı bir liste olarak tutulan herhangi bir sayıda çocuğa sahip olabildiği bir ağacın sağdan görünümünü nasıl elde edersin?

Kodu sıfırla
def rightSideView(root):
    # Kodu buraya yazın

Test #1

Test #2

Test #3

Argüman

root = [5, 2, 9, 7, 4, -1, 1, -1, 3]

Beklenen Çıktı

[5, 9, 1, 3]