1、思路:
2、代码
1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode(int x) : val(x), next(NULL) {} 7 * }; 8 */ 9 class Solution { 10 public: 11 ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { 12 if(l1==NULL) return l2; 13 if(l2==NULL) return l1; 14 ListNode *phead,*p;//定义头节点 15 phead=new ListNode(0); 16 phead->next=NULL; 17 p=phead; 18 while(l1!=NULL&&l2!=NULL){ 19 if(l1->val<=l2->val){ 20 // l1->next=p->next; 21 p->next=l1; 22 l1=l1->next; 23 } 24 else{ 25 // l2->next=p->next; 26 p->next=l2; 27 l2=l2->next; 28 } 29 p=p->next; 30 } 31 p->next=l1!=NULL?l1:l2;//判断哪一个先为空 32 return phead->next; 33 } 34 };
原文:https://www.cnblogs.com/hehesunshine/p/11631785.html