合并两个排序的链表
题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
题目解析
首先我们应该创建一个新的链表用来存储合并后的数据
接下来,我们只需要递归比较两个链表中的数据大小就可以。
代码解析
public static ListNode Merge(ListNode list1,ListNode list2) {
//判断是否有空链,使代码具有鲁棒性
if(list1==null&&list2==null) {
return null;
}else if(list1==null&&list2!=null){
return list2;
}else if(list1!=null&&list2==null) {
return list1;
}
//采用递归的方法,依次比较然后放入新的节点
ListNode newlist =null;
if(list1.val<list2.val){
newlist = list1;
newlist.next = Merge(list1.next,list2);
}else{
newlist = list2;
newlist.next = Merge(list1,list2.next);
}
return newlist;
}