Menu
CoddyTech

Path Sum

Sana, seviye sırasına göre dizide saklanan bir ikili ağaç tree ve bir sayı targetSum veriliyor. Kök 0 indeksinde bulunur, i indeksindeki düğümün çocukları 2*i+1 (sol) ve 2*i+2 (sağ) indekslerinde bulunur, -1 boş bir yeri belirtir ve dizinin sonunda fazladan -1 girdileri olabilir. Kökten bir yaprağa kadar olan herhangi bir yolun değerleri toplamı targetSum ediyorsa true, aksi hâlde false döndür. Yaprak, çocuğu olmayan düğümdür: her iki çocuk yeri de boştur.

Fonksiyon

hasPathSum(tree: integer-array, targetSum: integer) → boolean
treeinteger-array
ikili ağacı seviye sırasına göre, boş konumlar için -1 kullanarak
targetSuminteger
kökten yaprağa giden bir yolun ulaşması gereken toplam
Döndürürboolean
kökten yaprağa giden yollardan herhangi birinin toplamı targetSum değerine eşitse true, aksi takdirde false

Kısıtlar

  • 1 ≤ tree.length ≤ 32767
  • Her tree[i] değeri -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'tür.
  • 0 ≤ targetSum ≤ 15000

Örnekler

Girdi
tree = [3, 9, 6, -1, 2, 1, 7]targetSum = 14
Çıktı
true
Açıklama
3, 9, 2 yolu (indeksler 0, 1, 4) toplamda 14 eder ve 4 indeksindeki 2 bir yaprak düğümdür.

lock iconGönderirken +14 gizli test

challenge icon

Ek soru

Bir yolun herhangi bir düğümde başlayıp onun altındaki herhangi bir düğümde bitebildiği, yani yalnızca kökten bir yaprak düğüme gitmesinin gerekmediği durumda, toplamı targetSum olan yolları sayabilir misin?

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

Durum 1

Durum 2

Durum 3

Girdi

tree = [3, 9, 6, -1, 2, 1, 7]
targetSum = 14

Beklenen

true