【leetcode】2181. 合并零之间的节点

47 阅读1分钟

leetcode-2181.png

其实这一题新建一个链表比较方便,直接在原链表上面操作比较麻烦
遇到不是0的节点,用临时元素sum来进行累加,然后遇到0节点直接新建一个节点即可,然后进行衔接

var mergeNodes = function (head) {
    let dummy = new ListNode(0)
    let current = dummy
    let sum = 0
    let node = head.next
    while (node) {
        if (node.val === 0) {
            // 用current来衔接节点
            current.next = new ListNode(sum)
            // 挪动节点
            current = current.next
            sum = 0
        } else {
            sum += node.val
        }
        node = node.next
    }
    return dummy.next
};