class Solution {
public:
    ListNode* Merge(ListNode* pHead1, ListNode* pHead2) {
       ListNode *head=new ListNode(0);//创建一个头结点,归一化操作,否则第一个加入的节点还要单独做。
       ListNode *p=head;//两个指针一个指向头结点,一个指向尾节点。
       while(pHead1&&pHead2){
            if(pHead1->val<pHead2->val)
            {
                p->next=pHead1;//p链接值小的指针
                pHead1=pHead1->next;//链表头节点后移。
            }else{
                p->next=pHead2;
                pHead2=pHead2->next;
            }
           p=p->next;//重新指向尾节点
       }
       p->next=pHead1?pHead1:pHead2;
       return head->next;
    }
};