跳到主要内容

2181.合并零之间的节点

链接:2181.合并零之间的节点
难度:Medium
标签:链表、模拟
简介:对于每两个相邻的 0 ,请你将它们之间的所有节点合并成一个节点,其值是所有已合并节点的值之和。然后将所有 0 移除,修改后的链表不应该含有任何 0 。返回修改后链表的头节点 head 。

题解 1 - python

  • 编辑时间:2024-09-09
  • 执行用时:1094ms
  • 内存消耗:79.6MB
  • 编程语言:python
  • 解法介绍:遍历
class Solution:
def mergeNodes(self, head: Optional[ListNode]) -> Optional[ListNode]:
res_head = res_p = ListNode()
p = head
nsum = 0
while p:
if p.val == 0:
if nsum:
res_p.next = ListNode(nsum)
res_p = res_p.next
nsum = 0
else:
nsum += p.val
p = p.next
return res_head.next