2181. 合并零之间的节点

摘要
Title: 2181. 合并零之间的节点
Tag: 链表
Memory Limit: 64 MB
Time Limit: 1000 ms

Powered by:NEFU AB-IN

Link

2181. 合并零之间的节点

  • 题意

    给你一个链表的头节点 head ,该链表包含由 0 分隔开的一连串整数。链表的 开端 和 末尾 的节点都满足 Node.val == 0 。
    对于每两个相邻的 0 ,请你将它们之间的所有节点合并成一个节点,其值是所有已合并节点的值之和。然后将所有 0 移除,修改后的链表不应该含有任何 0 。
    返回修改后链表的头节点 head 。

  • 思路

    思路:

    • 求[0,0]之间节点的和
    • 修改节点的前后指向关系即可
    • 最后的next特殊判断
  • 代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class Solution:
    def mergeNodes(self, head: ListNode) -> ListNode:
    pre, cur = head, head.next
    cnt = 0
    while cur:
    cnt += cur.val
    if cur.val == 0:
    pre.val = cnt
    pre.next = None if cur.next == None else cur
    pre = pre.next
    cnt = 0
    cur = cur.next
    return head
使用搜索:谷歌必应百度