Merge Nodes in Between Zeros
MediumLinked ListSimulation
Solution
import { ListNode } from '@algorithm/lib';
export function mergeNodes(head: ListNode | null): ListNode | null {
if (head === null) {
return head;
}
let left = head;
let right = head.next;
let sum = 0;
while (left.next !== null && right !== null) {
if (right.val === 0) {
left = left.next;
left.val = sum;
sum = 0;
} else {
sum += right.val;
}
right = right.next;
}
left.next = null;
return head.next;
}