【面试题17】合并两个排序的链表

【题目描述】

输入两个递增排序的链表,合并这两个链表并使新链表中的结点是按照递增排序的。

【解决方案】

用递归解决,非常简单。

我的代码实现,仅供参考:

 1         public static ListNode Merge(ListNode listA, ListNode listB)
 2         {
 3             if (listA == null)
 4             {
 5                 return listB;
 6             }
 7             else if(listB == null)
 8             {
 9                 return listA;
10             }
11 
12             ListNode newListHead = null;
13 
14             if (listA.Value < listB.Value)
15             {
16                 newListHead = listA;
17                 newListHead.Next = Merge(listA.Next, listB);
18             }
19             else
20             {
21                 newListHead = listB;
22                 newListHead.Next = Merge(listA, listB.Next);
23             }
24 
25             return newListHead;
26         }

 

posted @ 2015-09-12 23:16  叫我霍啊啊啊  阅读(243)  评论(0编辑  收藏  举报