var addTwoNumbers = function (l1, l2) {
let r1 = linkReverse(l1), r2 = linkReverse(l2);
let sum = null;
let carry = 0;
let p = r1, q = r2;
while (p || q || carry != 0) {
let a = p == null ? 0 : p.val;
let b = q == null ? 0 : q.val;
let curr = a + b + carry;
carry = curr / 10;
curr = curr % 10;
let curnode = new ListNode(curr);
curnode.next = sum;
sum = curnode;
if (p)p = p.next;
if (q)q = q.next;
}
return sum;
};
var linkReverse = (link) => {
let res = null;
let p = link;
while (p) {
let temp = p.next;
p.next = res;
res = p;
p = temp;
}
return res;
}
console