其实这一题新建一个链表比较方便,直接在原链表上面操作比较麻烦
遇到不是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
};