剑指offer---合并两个排序的链表

/*
struct ListNode {
    int val;
    struct ListNode *next;
    ListNode(int x) :
            val(x), next(NULL) {
    }
};*/
class Solution 
{
public:
    ListNode* Merge(ListNode* pHead1, ListNode* pHead2)
    {
        ListNode* newlist=new ListNode(0);
        ListNode* cur=newlist;
        ListNode* p1=pHead1;
        ListNode* p2=pHead2;
        
        while((p1!=NULL)&&(p2!=NULL))
        {
            if((p1->val)<=(p2->val))
            {
                cur->next=p1;
                cur=cur->next;
                p1=p1->next;
            }
            else
            {
                cur->next=p2;
                cur=cur->next;
                p2=p2->next;
            }
        }
        
        if(p1!=NULL)
        {
            cur->next=p1;
        }
        if(p2!=NULL)
        {
            cur->next=p2;
        }
        
        
        return newlist->next;
    }
};
原文地址:https://www.cnblogs.com/159269lzm/p/7295270.html