* 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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,922評論 0 33
  • 夕陽潛清夜,孤月過黃昏, 寒鴉暖舊巢,陋室無歸人。 獨(dú)語驚四壁,無言近遠(yuǎn)音, 踽踽踱貧日,白發(fā)一老人。
    一條簡文閱讀 431評論 9 33
  • 最近死黨麗華總是主動微信,看得出來她很想跟我連接,反而我主動關(guān)心她少,今天死黨說她的老公主動跟她聯(lián)系了,真是為她開...
    葉子卷閱讀 232評論 2 1
  • 可是吧 我算是一個比較活在自己世界里的人 而且矯情。所以我寫的很多東西 應(yīng)該真正看的懂的只有我一個人吧哈哈哈哈哈哈...
    草莓味的精靈閱讀 248評論 0 0

友情鏈接更多精彩內(nèi)容