题解 | #合并两个排序的链表#
合并两个排序的链表
https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337
/*function ListNode(x){ this.val = x; this.next = null; }*/ function Merge(pHead1, pHead2) { // write code here if (pHead1 === null) return pHead2 if (pHead2 === null) return pHead1 const mergedHead = pHead1.val < pHead2.val ? pHead1 : pHead2 let currentMergedNode = mergedHead let currentNode1 = mergedHead === pHead1 ? pHead1.next : pHead1 let currentNode2 = mergedHead === pHead2 ? pHead2.next : pHead2 while (currentNode1 !== null && currentNode2 !== null) { if (currentNode1.val < currentNode2.val) { currentMergedNode.next = currentNode1 currentNode1 = currentNode1.next } else { currentMergedNode.next = currentNode2 currentNode2 = currentNode2.next } currentMergedNode = currentMergedNode.next } if (currentNode1 !== null) currentMergedNode.next = currentNode1 if (currentNode2 !== null) currentMergedNode.next = currentNode2 return mergedHead } module.exports = { Merge : Merge };