美文网首页
合并两个排序的链表

合并两个排序的链表

作者: gaookey | 来源:发表于2021-11-13 13:59 被阅读0次

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

    struct ListNode {
        int m_nValue;
        ListNode* m_pNext;
    };
    
    ListNode* Merge(ListNode* pHead1, ListNode* pHead2)
    {
        if(pHead1 == nullptr)
            return pHead2;
        else if(pHead2 == nullptr)
            return pHead1;
    
        ListNode* pMergedHead = nullptr;
    
        if(pHead1->m_nValue < pHead2->m_nValue)
        {
            pMergedHead = pHead1;
            pMergedHead->m_pNext = Merge(pHead1->m_pNext, pHead2);
        }
        else
        {
            pMergedHead = pHead2;
            pMergedHead->m_pNext = Merge(pHead1, pHead2->m_pNext);
        }
    
        return pMergedHead;
    }
    

    摘抄资料:《剑指offer》

    相关文章

      网友评论

          本文标题:合并两个排序的链表

          本文链接:https://www.haomeiwen.com/subject/zhlozltx.html