题解 | #合并两个排序的链表#
合并两个排序的链表
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
};


