function ListNode(x){
this.val = x;
this.next = null;
}
// 可以先把一个链表里的节点存到数组里,再循环比较另一个链表里的值并插入————好难实现
// 考虑呢用一个另外的函数实现节点插入
// 算了,还是看一下解析吧。
// 递归好简单!
function Merge(pHead1, pHead2)
{
// write code here
if (!pHead1) {
return pHead2
}
if (!pHead2) {
return pHead1
}
let cur = new ListNode(0);
let headNode = new ListNode(0);
if (pHead1.val <= pHead2.val) {
headNode = pHead1;
} else {
headNode = pHead2;
}
while (pHead1 && pHead2) {
if (pHead1.val <= pHead2.val) {
cur.next = pHead1;
pHead1 = pHead1.next;
} else {
cur.next = pHead2;
pHead2 = pHead2.next;
}
cur = cur.next;
}
// 连接剩下的部分
cur.next = pHead1 ? pHead1 : pHead2;
return headNode;
}
module.exports = {
Merge : Merge
};