删除链表中连续和为0的子链表 —— 题解与详解
题目描述
给你一个链表的头节点 head
,请你反复删除链表中所有连续节点序列,使得这些节点的值的总和为 0,直到不存在这样的序列为止。最终返回处理后链表的头节点。
你可以返回任意符合题意的结果。
示例
- 示例1:
输入:head = [1, 2, -3, 3, 1]
输出:[3, 1]
提示:答案 [1, 2, 1]
也是正确的。
- 示例2:
输入:head = [1, 2, 3, -3, 4]
输出:[1, 2, 4]
- 示例3:
输入:head = [1, 2, 3, -3, -2]
输出:[1]
题目限制
- 链表节点数:1 到 1000 个。
- 节点值范围:
-1000 <= node.val <= 1000