输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。
示例1:
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
代码实现如下:
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode dum=new ListNode(0);
ListNode cur=dum;
//判断两个链表是否为空
while(l1!=null&&l2!=null){
//判断大小,谁小就将cur.next指向它,然后cur指针后移一位
if(l1.val<l2.val){
cur.next=l1;
l1=l1.next;
}
else{
cur.next=l2;
l2=l2.next;
}
cur=cur.next;
}
//提前有一个链表循环完,cur指向剩下的链表
if(l1!=null){
cur.next=l1;
}else{
cur.next=l2;
}
//返回除开第一个头结点
return dum.next;
}
}