Bazı sorularda bir düğüm yalnızca çocuklarına bakarak karar veremez; yukarıdan gelen bilgiye ihtiyacı vardır. Kökten yaprağa giden bir yolun toplamı hedefe eşit mi? Her düğüme "buraya kadar ne kaldı" bilgisini parametre olarak verirsin; yaprağa vardığında kalan tam olarak yaprağın değeriyse yol bulunmuştur.
def has_path(node, left):if node is None:return Falseif node.left is None and node.right is None:return left == node.valrest = left - node.valreturn has_path(node.left, rest) or has_path(node.right, rest)
or ilk bulduğu yolda durur; sol taraf True dönerse sağa hiç bakılmaz.Arama ağacı kontrolü aynı fikirle çalışır: her düğüme, değerinin içinde kalması gereken aralığı verirsin. Sola inerken üst sınır düğümün değeri olur, sağa inerken alt sınır. Böylece bir düğüm yalnızca babasıyla değil, yukarıdaki bütün atalarıyla karşılaştırılmış olur.