合并两个排序的链表

2022-05-16  本文已影响0人  曾大稳丶

题目链接: https://leetcode.cn/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/

image.png

题目解析
因为两个链表都是递增的,所以我们只需要新增一个链表来依次遍历比较和next赋值即可。

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

复杂度分析
空间复杂度: O(1)。
时间复杂度: O(M+N)。

上一篇 下一篇

猜你喜欢

热点阅读