题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
思路
递归
先比较两个链表头结点值大小,小的作为合并链表的头结点,然后剩下的结点再和另一条链表继续合并
实现
public ListNode Merge(ListNode list1,ListNode list2) {
//递归
//特殊情况
if(list1==null) return list2;
if(list2==null) return list1;
//list1头结点较小,所以list1作为最终的合并链表,把list1除头结点外剩下的结点和list2继续合并
if(list1.val<list2.val){
list1.next=Merge(list1.next,list2);
return list1;
}
else{
list2.next=Merge(list1,list2.next);
return list2;
}
}