【剑指offer】25.合并两个排序的链表

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;
        }
原文地址:https://www.cnblogs.com/qxlxi/p/12860651.html