16、合并两个排序的链表

来源:互联网 发布:同意注册协议 js代码 编辑:程序博客网 时间:2024/06/01 10:14

题目描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

时间限制:1秒 空间限制:32768K

代码:

/*struct ListNode {    int val;    struct ListNode *next;    ListNode(int x) :            val(x), next(NULL) {    }};*/class Solution {public:    ListNode* Merge(ListNode* pHead1, ListNode* pHead2)    {        if(pHead1==NULL)            return pHead2;        if(pHead2==NULL)            return pHead1;        ListNode* dummy = new ListNode(0);        ListNode* pre = dummy;        while(pHead1!=NULL && pHead2!=NULL){            if(pHead1->val < pHead2->val){                pre->next = pHead1    ;                pHead1 = pHead1->next;            }            else{                pre->next = pHead2;                pHead2 = pHead2->next;            }            pre = pre->next;        }        if(pHead1==NULL)            pre->next = pHead2;        if(pHead2==NULL)            pre->next = pHead1;        return dummy->next;    }};
原创粉丝点击