合并两个排序的链表:专注代码的鲁棒性.

来源:互联网 发布:南京大学网络教育官网 编辑:程序博客网 时间:2024/05/19 15:42

题目描述

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

/*struct ListNode {    int val;    struct ListNode *next;    ListNode(int x) :            val(x), next(NULL) {    }};*/class Solution {public:    ListNode* Merge(ListNode* pHead1, ListNode* pHead2)    {        ListNode*p1=pHead1;        ListNode*p2=pHead2;        ListNode* pmin=NULL;        ListNode* newList= new ListNode(0);        ListNode* pre=newList;            while(p1||p2){            if(p1==NULL)            {                pmin=p2;                p2=p2->next;            }else if(p2==NULL){                pmin=p1;                p1=p1->next;            }            else if(p1->val<p2->val){                pmin=p1;                p1=p1->next;            }else{                pmin=p2;                p2=p2->next;            }            ListNode *q=new ListNode(pmin->val);            pre->next=q;            pre=q;        }        return newList->next;            }};


0 0
原创粉丝点击