* 21. Merge Two Sorted Lists #Linked List (Easy)

Problem:

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.

Solution:

class Solution {
public:
    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
    ListNode *head = new ListNode(0);
        ListNode *it = head;
        while (l1 && l2) {
            if (l1->val < l2->val) 
            {
                it->next = l1;
                l1 = l1->next;
            } 
            else 
            {
                it->next = l2;
                l2 = l2->next;
            }
            it = it->next;
        }
        if (l1) it->next = l1;
        if (l2) it->next = l2;
        return head->next;
    }
};

Recursive Solution:

ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) 
{
    if (l1 == NULL) return l2;
    if (l2 == NULL) return l1;
    
    ListNode *ret = NULL;
    
    if (l1->val < l2->val)
    {
        ret = l1;
        ret->next = mergeTwoLists(l1->next, l2);
    }
    else
    {
        ret = l2;
        ret->next = mergeTwoLists(l1, l2->next);
    }
    
    return ret;
}

LeetCode Discussion
LeetCode Discussion Recursion

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 13,033评论 0 33
  • 夕阳潜清夜,孤月过黄昏, 寒鸦暖旧巢,陋室无归人。 独语惊四壁,无言近远音, 踽踽踱贫日,白发一老人。
    一条简文阅读 447评论 9 33
  • 最近死党丽华总是主动微信,看得出来她很想跟我连接,反而我主动关心她少,今天死党说她的老公主动跟她联系了,真是为她开...
    叶子卷阅读 238评论 2 1
  • 可是吧 我算是一个比较活在自己世界里的人 而且矫情。所以我写的很多东西 应该真正看的懂的只有我一个人吧哈哈哈哈哈哈...
    草莓味的精灵阅读 252评论 0 0

友情链接更多精彩内容