1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
var addTwoNumbers = function (l1, l2) { let cur = l1, flag = 0, prev = null; while (cur && l2) { const sum = cur.val + l2.val + flag; flag = sum >= 10 ? 1 : 0; cur.val = sum % 10; prev = cur; cur = cur.next; l2 = l2.next; } if (l2) { prev.next = l2; while(l2) { const sum = l2.val + flag; flag = sum >= 10 ? 1 : 0; l2.val = sum % 10; if (flag === 0) break; prev = l2; l2 = l2.next; } } if (cur) { while(cur) { const sum = cur.val + flag; flag = sum >= 10 ? 1 : 0; cur.val = sum % 10; if (flag === 0) break; prev = cur; cur = cur.next; } } if (flag) { prev.next = new ListNode(flag); } return l1; };
|