2. Add Two Numbers
¶
- Time: $O(n)$
- Space: $O(1)$
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
var addTwoNumbers = function(l1, l2) {
const dummy = new ListNode();
let cur = dummy, carry = 0;
while (l1 || l2 || carry) {
const s = (l1 ? l1.val : 0) + (l2 ? l2.val : 0) + carry;
carry = Math.floor(s / 10);
cur.next = new ListNode(s % 10);
cur = cur.next;
l1 = l1 && l1.next;
l2 = l2 && l2.next;
}
return dummy.next;
};