【剑指Offer】合并两个排序的链表

题目

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

实现

1
2
3
4
5
6
7
8
public class ListNode {
int val;
ListNode next = null;

ListNode(int val) {
this.val = val;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public ListNode Merge(ListNode list1, ListNode list2) {
if (list1 == null)
return list2;
else if (list2 == null)
return list1;

ListNode head = null;

if (list1.val < list2.val){
head = list1;
head.next = Merge(list1.next, list2);
}
else {
head = list2;
head.next = Merge(list1, list2.next);
}

return head;
}