最佳解法剑指 Offer 25. 合并两个排序的链表

Posted 来老铁干了这碗代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最佳解法剑指 Offer 25. 合并两个排序的链表相关的知识,希望对你有一定的参考价值。

立志用最少的代码做最高效的表达


输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。

示例1:
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4

限制:
0 <= 链表长度 <= 1000


注意:
1、建立伪头结点,方便操作
2、要明确:链表的建立,是修改地址和指针,而不是开辟空间赋值。

class Solution {
    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        // 1、建立伪头结点
        ListNode head = new ListNode(0), tmp = head;
        while(l1 != null && l2 != null) {
            if(l1.val <= l2.val) {
                tmp.next = l1;
                l1 = l1.next;
            } else {
                tmp.next = l2;
                l2 = l2.next;
            }
            tmp = tmp.next;
        }
        tmp.next = l1 != null ? l1 : l2;
        return head.next;
    }
}

木秀于林,风必摧之;堆出于岸,流必湍之;行高于人,众必非之。

以上是关于最佳解法剑指 Offer 25. 合并两个排序的链表的主要内容,如果未能解决你的问题,请参考以下文章

剑指Offer:合并两个排序的链表25

剑指Offer打卡25.合并两个排序的链表

剑指Offer打卡25.合并两个排序的链表

leetcode-剑指 Offer 25合并两个排序的链表

算法剑指 Offer 25. 合并两个排序的链表

剑指offer-----合并两个排序的链表