剑指offer(25)

剑指offer(25)

剑指 Offer 25. 合并两个排序的链表

输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。

示例1:

输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4

限制:

0 <= 链表长度 <= 1000

经典题目

class Solution {
public:
    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
        //虚拟头节点
        ListNode* dummy=new ListNode(-1);
        ListNode* p=dummy;
        ListNode* p1=l1;
        ListNode* p2=l2;
        while(p1!=NULL&&p2!=NULL){
            if(p1->val<p2->val){
                p->next=p1;
                p=p->next;
                p1=p1->next;
            }else{
                p->next=p2;
                p=p->next;
                p2=p2->next;
            }
        }
            if(p1==NULL&&p2!=NULL){
                p->next=p2;
            }
            if(p1!=NULL&&p2==NULL){
                p->next=p1;
            }
        return dummy->next;
    }
};
posted @   BailanZ  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示