function ListNode(x) {
this.val = x;
this.next = null;
}
function Merge(pHead1, pHead2) {
let dummy = new ListNode(-1);
let current = dummy;
let p1 = pHead1;
let p2 = pHead2;
while (p1 !== null && p2 !== null) {
if (p1.val <= p2.val) {
current.next = p1;
p1 = p1.next;
} else {
current.next = p2;
p2 = p2.next;
}
current = current.next;
}
if (p1 !== null) {
current.next = p1;
}
if (p2 !== null) {
current.next = p2;
}
return dummy.next;
// // 创建一个虚拟头节点
// let dummy = new ListNode(-1);
// let current = dummy;
// // 初始化两个指针
// let p1 = pHead1;
// let p2 = pHead2;
// // 遍历两个链表
// while (p1 !== null && p2 !== null) {
// if (p1.val <= p2.val) {
// current.next = p1;
// p1 = p1.next;
// } else {
// current.next = p2;
// p2 = p2.next;
// }
// current = current.next;
// }
// // 如果其中一个链表还有剩余节点,直接连接到当前链表后面
// if (p1 !== null) {
// current.next = p1;
// }
// if (p2 !== null) {
// current.next = p2;
// }
// // 返回合并后的链表头节点
// return dummy.next;
}
module.exports = {
Merge: Merge,
};