/**
添加一个赋值头结点p。
 */

class Solution {
public:
    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
        ListNode *p = new ListNode(0), *p1 = l1, *p2 = l2, *pA = p;
        while(p1 && p2){
            if(p1->val < p2->val) {p->next = p1; p = p1; p1 = p1->next;}
            else {p->next = p2; p = p2; p2 = p2->next;}
        }
        if(p1){
            p->next = p1;
        }
        if(p2){
            p->next = p2;
        }
        return pA->next;
    }
};