root двоичного дерева. Можно ли удалить ровно одно ребро так, чтобы дерево распалось на две части с одинаковой суммой значений вершин?
Верните True, если такое ребро есть, иначе False.root=tree_node([1, 8, 3, None, None, 2, 2]) → True
Режем ребро между корнем и вершиной 8: в одной части 8, в другой 1 + 3 + 2 + 2 = 8.
root=tree_node([0, -2, 2]) → False
Общая сумма 0, но отрезать можно только поддерево -2 или поддерево 2, и ни одно из них не даёт половину, то есть 0.
root=tree_node([5]) → False
Рёбер нет — разрезать нечего.
Node.val ≤ 10⁵root=tree_node([1, 8, 3, None, None, 2, 2])
True
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 90 тестов на сервере, включая скрытые.