1 struct ListNode{
2 int m_Value;
3 ListNode *m_pNext;
4 };
5
6 ListNode *Merge(ListNode *pHead1,ListNode *pHead2){
7 if(pHead1==NULL)
8 return pHead2;
9 else if(pHead2==NULL)
10 return pHead1;
11
12 ListNode *pMergedHead=NULL;
13 if(pHead1->m_Value<pHead2_m_Value){
14 pMergedHead=pHead1;
15 pMergedHead=>m_pNext=Merge(pHead1->m_pNext,pHead2);
16 }
17 else{
18 pMergedHead=pHead2;
19 pMergedHead->m_pNext=Merge(pHead1,pHead2->m_pNext);
20 }
21 return pMergedHead;
22 }
参考资料:https://www.cnblogs.com/jason2013/articles/4341153.html