这里的最低位是在左边,注意处理进位的问题
对于链表的处理,一般要返回整个链表,都要注意留下头节点,在这里是dummy,cur来指向当前处理的节点
var addTwoNumbers = function (l1, l2) {
let carry = 0;
let dummy = new ListNode(-1);
let cur = dummy;
while (l1 || l2 || carry !== 0) {
let v1 = l1 ? l1.val : 0;
let v2 = l2 ? l2.val : 0;
let tmp = v1 + v2 + carry;
carry = Math.floor(tmp / 10);
cur.next = new ListNode(tmp % 10);
cur = cur.next;
if (l1) l1 = l1.next;
if (l2) l2 = l2.next;
}
return dummy.next;
};