合并两个排序的链表---C++实现-创新互联

输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。
如输入{1,3,5},{2,4,6}时,合并后的链表为{1,2,3,4,5,6},所以对应的输出为{1,2,3,4,5,6},转换过程如下图所示:
在这里插入图片描述

成都创新互联公司服务项目包括秀峰网站建设、秀峰网站制作、秀峰网页制作以及秀峰网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,秀峰网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到秀峰省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
class Solution {public:
    ListNode *Merge(ListNode *pHead1, ListNode *pHead2) {if (pHead1 == nullptr || pHead2 == nullptr)
            return pHead1;
        ListNode *dummy = new ListNode;//额外设置一个节点
        ListNode *s = dummy;
        ListNode *p1 = pHead1;
        ListNode *p2 = pHead2;
        while (p1 && p2) {if (p2->val >= p1->val) {s->next = p1;
                s = s->next;
                p1 = p1->next;
            } else {s->next = p2;
                s = s->next;
                p2 = p2->next;
            }
        }
        if (p1 == nullptr)
            s->next = p2;
        if (p2 == nullptr)
            s->next = p1;

        return dummy->next;
    }
};

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文题目:合并两个排序的链表---C++实现-创新互联
网站路径:http://azwzsj.com/article/cesppd.html