链表l1排序,链表l2也是排序的,将2个链表按递增的序列排成一个新链表。
思路:如果l1,为空返回l2, l2为空,返回l1, l1,l2都为空,直接返回null
l1,l2都不为空,排列.
class ListNode {
int value;
ListNode next;
public ListNode(int value) {
this.value = value;
}
}
ListNode Merge(ListNode l1,ListNode l2){
if(l1 ==null){
return l2;
}
if(l2==null){
return l1;
}
ListNode pMeHead = null;
if(l1.value<l2.value){
pMeHead = l1;
pMeHead.next = Merge(l1.next,l2);
}else{
pMeHead = l2;
pMeHead.next = Merge(l1,l2.next);
}
return pMeHead;
}
先比较l1,l2开头的谁小,谁小取谁的值,再连接头节点。
代码: