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

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

解答:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package offer;
public class {
static class ListNode{
int data;
ListNode next;
}
public ListNode Merge(ListNode pHead1,ListNode pHead2){
if(pHead1 == null)
return pHead2;
else if(pHead2 == null)
return pHead1;
ListNode pMergedHead = null;
if(pHead1.data <pHead2.data){
pMergedHead = pHead1;
pMergedHead.next = Merge(pHead1.next ,pHead2);
}else{
pMergedHead = pHead2;
pMergedHead.next = Merge(pHead1,pHead2.next);
}
return pMergedHead;
}
}