合并两个有序链表

合并两个排序的链表

https://www.nowcoder.com/questionTerminal/d8b6b4358f774294a89de2a6ac4d9337

class Solution {
public:
ListNode* Merge(ListNode* pHead1, ListNode* pHead2)
{
ListNode tempHead(0);//设置合并的新链表临时头节点
ListNode* pre=&tempHead;//设置一个用来遍历表示当前位置的指针
while(pHead1&&pHead2){
if(pHead1->valval)//比较两个链表节点的大小,较小的一个先放入新的链表中
{pre->next=pHead1;
pHead1=pHead1->next;}
else
{pre->next=pHead2;
pHead2=pHead2->next;}
pre=pre->next;
}
if(!pHead1&&pHead2){//若两个链表中其中一个还有剩余,把剩余的部分直接补充到新链表的末尾
pre->next=pHead2;
}
if(!pHead2&&pHead1){
pre->next=pHead1;
}
return tempHead.next;
}
};

全部评论

相关推荐

迷茫的大四🐶:哇靠,哥们,啥认证啊,副总裁实习,这么有实力嘛
一起聊美团
点赞 评论 收藏
分享
牛油果甜奶昔:别的先不说,牛客还能内推护士?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务