剑指offer16-合并两个排序的链表
题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
const Merge = (phead1, phead2) => {
let head = new ListNode();
let phead = head;
while(phead1 !== null && phead2 !== null){
if(phead1.val >= phead2.val){
head.next = phead2;
phead2 = phead2.next;
}
else{
head.next = phead1;
phead1 = phead1.next;
}
head = head.next;
}
if(phead1 != null) head.next = phead1;
if(phead2 != null) head.next = phead2;
return phead.next;
};
本题类型:链表
解析:
朴素的思路,在两个链表都有元素的时候元素的值进行排序,在任何一个链表为空后把另一个链表的剩余部分直接接在最后面即可。