25.合并两个排序的链表
面试题25. 合并两个排序的链表
难度简单17
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。
示例1:
输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4
1.迭代
时间复杂度:O(m+n)
空间复杂度:O(1)
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
//头结点
ListNode cur = new ListNode(-1);
ListNode head = cur;
while(l1 != null && l2 != null){
//l1链表
if(l1.val < l2.val){
cur.next = l1;
l1 = l1.next;//l1链表移动
}else{
cur.next = l2;
l2 = l2.next;//l2链表移动
}
cur = cur.next;
}
cur.next = (l1 !=null ? l1 : l2);
return head.next;
}