剑指offer[16]——合并两个排序的链表
题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
这道题要求我们合并两个排序好的链表,我们就新建一个链表pHead
,对两个链表进行遍历,遍历继续的条件是两个链表都没有到达最尾部。在遍历中判断两个链表val
的大小,然后让pHead.next
指向val
小的那一个链表,改变该链表next
指向继续遍历。
/*function ListNode(x){
this.val = x;
this.next = null;
}*/
function Merge(pHead1, pHead2)
{
let pHead = new ListNode(0);
const res = pHead;
while(pHead1&&pHead2){
if(pHead1.val<=pHead2.val){
pHead.next = pHead1;
pHead1 = pHead1.next;
}else{
pHead.next = pHead2;
pHead2 = pHead2.next;
}
pHead = pHead.next;
}
pHead.next = pHead1?pHead1:pHead2;
return res.next;
}
我不管,JS天下第一