21. 合并两个有序链表

2022年 9月 13日 85点热度 0人点赞 0条评论

file

class Solution {
public:
    ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {

        if (list1 == nullptr) return list2;
        if (list2 == nullptr) return list1;

        ListNode* p = nullptr;

        if (list1->val < list2->val) {
            p = list1;
            list1 = list1->next;
        } else {
            p = list2;
            list2 = list2->next;
        }

        ListNode* tail = p;
        tail->next = nullptr;

        while(true) {

            if (list1 == nullptr) {
                tail->next = list2;
                break;
            }

            if (list2 == nullptr) {
                tail->next = list1;
                break;
            }

            if (list1->val < list2->val) {
                tail->next = list1;
                tail = tail->next;
                list1 = list1->next;
                tail->next = nullptr;
            } else {
                tail->next = list2;
                tail = tail->next;
                list2 = list2->next;
                tail->next = nullptr;
            }
        }

        return p;
    }
};

这是我写的, 感觉不太简洁

下面这个是官方的:

class Solution {
    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        ListNode prehead = new ListNode(-1);

        ListNode prev = prehead;
        while (l1 != null && l2 != null) {
            if (l1.val <= l2.val) {
                prev.next = l1;
                l1 = l1.next;
            } else {
                prev.next = l2;
                l2 = l2.next;
            }
            prev = prev.next;
        }

        // 合并后 l1 和 l2 最多只有一个还未被合并完, 我们直接将链表末尾指向未合并完的链表即可
        prev.next = l1 == null ? l2 : l1;

        return prehead.next;
    }
}

作者:LeetCode-Solution
链接:https://leetcode.cn/problems/merge-two-sorted-lists/solution/he-bing-liang-ge-you-xu-lian-biao-by-leetcode-solu/
来源: 力扣 (LeetCode)
著作权归作者所有. 商业转载请联系作者获得授权, 非商业转载请注明出处.

本文来自:https://blog.duhbb.com

本文链接地址:21. 合并两个有序链表,英雄不问来路,转载请注明出处,谢谢。

有话想说:那就赶紧去给我留言吧。

rainbow

这个人很懒,什么都没留下

文章评论