ldjhust

工欲善其事 必先利其器

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

题目:合并两个单向有序链便,保证合并之后的链表依然是有序的。

例如:1->3->5和2->4->8

合并完之后:1->2->3->4->5->8

 

思路:运用递归,很简洁。

代码如下:

 1 ListNode *CombineList(ListNode *List1, ListNode *List2)
 2 {
 3     if (NULL == List1)
 4     {
 5         return (List2);
 6     }
 7 
 8     if (NULL == List2)
 9     {
10         return (List1);
11     }
12 
13     ListNode *pHead = NULL;
14 
15     if (List1->nData < List2->nData)
16     {
17         pHead = List1;
18 
19         pHead->next = CombineList (List1->next, List2);
20     }
21     else
22     {
23         pHead = List2;
24 
25         pHead->next = CombineList (List1, List2->next);
26     }
27 
28     return (pHead);
29 }

一个测试结果:

posted on 2013-05-03 13:25  ldjhust  阅读(308)  评论(1编辑  收藏  举报