时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:888383
本题知识点: 链表
题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
示例1
输入
{1,3,5},{2,4,6}
返回值
{1,2,3,4,5,6}
思路:比较大小,然后连接下去即可,注意链表的值有相等的。
循环条件,两条链表都存在,此时需要进行比较。
有一方链表不存在了,就可以直接把另一条链表剩余的接上去,然后返回即可
function Merge(pHead1, pHead2)
{
// write code here
if(pHead1&&!pHead2) return pHead1
if(!pHead1&&pHead2) return pHead2
let head = new ListNode(0)
let res = head
while(pHead1&&pHead2){
if(pHead1.val<pHead2.val){
head.next = pHead1
pHead1 = pHead1.next
}else{
head.next = pHead2
pHead2 = pHead2.next
}
head = head.next
}
if (!pHead1){
head.next = pHead2
}else if (!pHead2){
head.next = pHead1
}
return res.next
}