root двоичного дерева, в вершинах которого записаны целые числа (возможно, отрицательные).
Путём назовём последовательность вершин, в которой каждые две соседние соединены ребром и ни одна вершина не повторяется. Путь может начинаться и заканчиваться в любых вершинах, проходить через корень не обязан и может состоять из одной вершины. Вес пути — сумма значений его вершин.
Верните наибольший вес непустого пути.root=tree_node([4, -7, 5, 3, 2, None, 6]) → 15
Лучше всего путь 5 → 6 вместе с корнем: 4 + 5 + 6 = 15. Заходить в левое поддерево невыгодно: -7 + 3 = -4.
root=tree_node([-2, 8, 1, 3, -1]) → 11
Путь может не проходить через корень: 3 → 8 даёт 11, а добавление корня -2 и вершины 1 даёт меньше.
root=tree_node([-5, -9]) → -5
Все значения отрицательные, поэтому лучший путь — одна вершина -5.
Node.val ≤ 1000root=tree_node([4, -7, 5, 3, 2, None, 6])
15
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 99 тестов на сервере, включая скрытые.