package leetcode;
public class offer_25 {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
//创建一个新表头
ListNode node=new ListNode();
ListNode temp=node;
if(l1==null&&l2==null) {
return null;
}
while(l1!=null||l2!=null) {
//l1.val小于l2.val就加入l1
if(l1!=null&&l2!=null&&l1.val<=l2.val) {
temp.next=l1;
while(l1!=null&&l2!=null&&l1.val<=l2.val) {
temp=temp.next;
l1=l1.next;
}
}
//l1出现空链表,直接将l2剩余链表直接加入
if(l1==null) {
temp.next=l2;
break;
}
//l2.val小于l1.val就加入l2
if(l1!=null&&l2!=null&&l1.val>l2.val) {
temp.next=l2;
while(l1!=null&&l2!=null&&l1.val>l2.val) {
temp=temp.next;
l2=l2.next;
}
}
//l2出现空链表,直接将l1剩余链表直接加入
if(l2==null) {
temp.next=l1;
break;
}
}
return node.next;
}
}