Add Two Numbers II LeetCode solution in JavaScript
1var addTwoNumbers = function (l1, l2) {2const reverse = (head) => {3let prev = null;4let dummy = head;56while (dummy) {7let temp = dummy.next;8dummy.next = prev;9prev = dummy;10dummy = temp;11}12return prev;13};1415let head1 = reverse(l1);16let head2 = reverse(l2);1718// add19let sum = new ListNode();20let p = sum;21let carry = 0;2223while ((head1 && head2) || carry) {24let v1 = head1 ? head1.val : 0;25let v2 = head2 ? head2.val : 0;26let v = v1 + v2 + carry;2728if (v >= 10) carry = 1;29else carry = 0;3031let node = new ListNode(v % 10);3233sum.next = node;34sum = sum.next;35head1 = head1 && head1.next;36head2 = head2 && head2.next;37}38sum.next = head1 || head2;39return reverse(p.next);40};