class ListNode {
constructor(val) {
this.value = val;
this.next = null;
}
}
function addTwoNumbers(l1, l2) {
const sum = new ListNode(0);
let curr = sum;
let carry = 0;
while(l1 || l2 || carry) {
const val1 = l1 ? l1.value : 0;
const val2 = l2 ? l2.value : 0;
const total = val1 + val2 + carry;
carry = Math.floor(total / 10);
curr.next = new ListNode(total % 10);
curr = curr.next;
l1 = l1 ? l1.next : null;
l2 = l2 ? l2.next : null
}
return sum.next
}
const l1 = new ListNode(2)
l1.next = new ListNode(4)
l1.next.next = new ListNode(3)
const l2 = new ListNode(5)
l2.next = new ListNode(6)
l2.next.next = new ListNode(4)
let result = addTwoNumbers(l1,l2)
while(result) {
console.log(result.value)
result = result.next
}