head. Участок — это один или несколько подряд идущих узлов. Пока в списке есть участок с суммой 0, удаляйте его по правилу:
- из всех участков с нулевой суммой берите тот, что начинается левее всех;
- если таких несколько, берите самый длинный.
Когда участков с нулевой суммой не останется, верните голову получившегося списка (возможно, пустого).head=list_node([4, 2, -6, 5, 1]) → [5, 1]
Самый левый участок с нулевой суммой — 4, 2, -6. После его удаления остаётся [5, 1], и нулевых участков больше нет.
head=list_node([3, 1, -1, 2, -2, 7]) → [3, 7]
Самый левый нулевой участок начинается с 1, длиннейший из них — 1, -1, 2, -2. Остаётся [3, 7].
head=list_node([5, -5, 0]) → None
Весь список в сумме даёт 0 и удаляется целиком — ответ пустой.
head=list_node([4, 2, -6, 5, 1])
[5, 1]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 121 тест на сервере, включая скрытые.