/** * struct ListNode { * int val; * struct ListNode *next; * }; */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param pHead1 ListNode类 * @param pHead2 ListNode类 * @return ListNode类 */ struct ListNode* Merge(struct ListNode* pHead1, struct ListNode* pHead2 ) { // write code here struct ListNode preHead; preHead.next = NULL; struct ListNode* p=&preHead; while(pHead1!=NULL&&pHead2!=NULL){ if(pHead1->val<pHead2->val){ p->next=pHead1; pHead1=pHead1->next; }else{ p->next=pHead2; pHead2=pHead2->next; } p=p->next; } p->next=pHead1==NULL?pHead2:pHead1; return preHead.next; }