

l1 和 l2 同步向后走,缺位按 0 处理。sum = val1 + val2 + carry。sum % 10。Math.floor(sum / 10)。dummy 节点挂住答案链表,最后返回 dummy.next。function addTwoNumbers(l1, l2) {
const dummy = new ListNode(0);
let cur = dummy;
let carry = 0;
while (l1 || l2 || carry) {
const val1 = l1 ? l1.val : 0;
const val2 = l2 ? l2.val : 0;
const sum = val1 + val2 + carry;
cur.next = new ListNode(sum % 10);
carry = Math.floor(sum / 10);
cur = cur.next;
l1 = l1 ? l1.next : null;
l2 = l2 ? l2.next : null;
}
return dummy.next;
}O(m + n),其中 m 和 n 是两条链表长度;空间复杂度 O(m + n),用于存放结果链表。This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.