Menu
CoddyTech

Path Sum

Seviye sırasına göre tree dizisinde saklanan bir ikili ağaç ve targetSum sayısı 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 konumu belirtir ve dizinin sonunda fazladan -1 girdileri bulunabilir. Kökten bir yaprağa giden herhangi bir yolun değerleri toplamı targetSum ise true, değilse false döndür. Yaprak, her iki çocuk konumu da boş olan bir düğümdür.

Fonksiyon

hasPathSum(tree: integer-array, targetSum: integer) → boolean
treeinteger-array
ikili ağacı seviye sırasına göre, boş bir yer 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 ise true, aksi takdirde false

Kısıtlar

  • 1 ≤ tree.length ≤ 32767
  • Her tree[i], -1 ya da 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.
  • 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.
challenge icon

Ek soru

Bir yol herhangi bir düğümde başlayıp onun altındaki herhangi bir düğümde bitebiliyorsa, toplamı targetSum olan yolları sayabilir misin?

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

Test #1

Test #2

Test #3

Argümanlar

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

Beklenen Çıktı

true