Merge Two Sorted Lists LeetCode solution in JavaScript
1/**2* Definition for singly-linked list.3* function ListNode(val, next) {4* this.val = (val===undefined ? 0 : val)5* this.next = (next===undefined ? null : next)6* }7*/8/**9* @param {ListNode} list110* @param {ListNode} list211* @return {ListNode}12*/13var mergeTwoLists = function (list1, list2) {14if (!list1) return list2;15if (!list2) return list1;1617let mergedList = new ListNode(0);18let ptr = mergedList;19let curr1 = list1;20let curr2 = list2;2122while (curr1 && curr2) {23let newNode = new ListNode();24if (!curr2 || curr1.val < curr2.val) {25newNode.val = curr1.val;26newNode.next = null;27ptr.next = newNode;28curr1 = curr1.next;29} else {30newNode.val = curr2.val;31newNode.next = null;32ptr.next = newNode;33curr2 = curr2.next;34}3536ptr = ptr.next;37}3839if (curr1 !== null) {40ptr.next = curr1;41curr1 = curr1.next;42}4344if (curr2 !== null) {45ptr.next = curr2;46curr2 = curr2.next;47}4849return mergedList.next;50};