Найти суммы последовательных узлов в бинарном дереве
Есть бинарное дерево поиска и какое-то заданное число S. Нужно найти все монотонные последовательности узлов дерева, сумма значения которых равна S. Пример.
6
/ \
3 8
/ \ / \
2 4 7 10
/ \ / \ / \
1 0 0 5 9 0
Для данного дерева если S = 9, то результат 3 последовательности: 6+3, 4+5, 9 Поиск сверху вниз Моя идея это через поиск в каждом поддереве, но вот не знаю, как перебирать их. Подскажите, пожалуйста, как,например, сравнить 3 и 2, потом 3 и 4, потом 2 и 1.
def find(self, value):
if value == self.root:
return self.root
if value < self.root and self.left:
if self.left
Стою на этом моменте уже долго.