【面试题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 }