美文网首页Leetcode
Leetcode 21 Merge Sorted List -J

Leetcode 21 Merge Sorted List -J

作者: Mereder | 来源:发表于2019-04-22 19:36 被阅读8次

    题目描述

    Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.

    Example:

    Input: 1->2->4, 1->3->4
    Output: 1->1->2->3->4->4
    

    解题分析

    思路很简单,新建一个 表头temp,同时需要一个p指针来指向新链表的尾部。

    然后将l1 l2 依次按大小顺序插入,

    当插完之后 若 其中一个链表还有残余(不为NULL),直接放到放到新链表尾部(p.next)

    题解

       public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
            ListNode temp = new ListNode(0), p = temp;
            while (l1 != null && l2 != null) {
                if (l1.val < l2.val) {
                    p.next = l1;
                    l1 = l1.next;
                } else {
                    p.next = l2;
                    l2 = l2.next;
                }
                p = p.next;
            }
            if (l1 != null)
                p.next = l1;
            if (l2 != null)
                p.next = l2;
            return temp.next;
        }
    

    相关文章

      网友评论

        本文标题:Leetcode 21 Merge Sorted List -J

        本文链接:https://www.haomeiwen.com/subject/ltgugqtx.html