题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增的。


例如:

/*合并两个排序的链表*//*链表节点定义如下:structListNode{int_data;ListNode*_next;};*/ListNode*MergeList(ListNode*pHead1,ListNode*pHead2){if(pHead1==NULL)//链表1为空链表{returnpHead2;}elseif(pHead2==NULL)//链表2为空链表{returnpHead1;}else//链表1,2都不为空链表{ListNode*pMergeHead=NULL;//递归,把剩余链表看作子问题//找出值较小的节点作为pMergeHead链到上一层的pMergeHead->_next上if(pHead1->_data<pHead2->_data){pMergeHead=pHead1;pMergeHead->_next=MergeList(pHead1->_next,pHead2);}else{pMergeHead=pHead2;pMergeHead->_next=MergeList(pHead1,pHead2->_next);}returnpMergeHead;}}