2. Add Two Numbers

Run Settings
LanguageJavaScript
Language Version
Run Command
function ListNode(val, next) { this.val = (val===undefined ? 0 : val) this.next = (next===undefined ? null : next) } function ArrayToLinkList(ary){ if(ary.length <=0) return null; let outputNode = new ListNode(); const headNode = outputNode; for(let el of ary){ let currentNode = new ListNode(el); outputNode.next = currentNode; outputNode = currentNode; } return headNode.next; } let l1 = ArrayToLinkList([9,9,9,9,9,9,9]); let l2 = ArrayToLinkList([9,9,9,9]); var addTwoNumbers = function(l1, l2) { let carry = 0; let outputAry = []; while(l1 || l2 || carry){ let val1 = 0; let val2 = 0; if(l1){ val1 = l1.val; l1 = l1.next; } if(l2){ val2 = l2.val; l2 = l2.next; } const sum = val1+val2+carry; carry = Math.floor(sum/10); const digit = sum % 10; outputAry.push(digit); } return ArrayToLinkList(outputAry); }; console.log(addTwoNumbers(l1,l2));
Editor Settings
Theme
Key bindings
Full width
Lines