21. 合并兩個(gè)有序鏈表

遞歸方法:

  1. 都不為空,較小的節(jié)點(diǎn)指向后面合并的鏈表
  2. 為空,則返回另一個(gè)鏈表
ListNode* mergeTwoLists(ListNode * list1, ListNode * list2) {
        if (list1 == nullptr) return list2;
        if (list2 == nullptr) return list1;

        ListNode * list;
        ListNode * list1next = list1 -> next;
        ListNode * list2next = list2 -> next;

        if (list1 -> val < list2 -> val)
        {
            list = list1;
            list -> next = mergeTwoLists(list1next, list2);
        }
        else
        {
            list = list2;
            list -> next = mergeTwoLists(list1, list2next);
        }

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

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

  • 將兩個(gè)升序鏈表合并為一個(gè)新的 升序 鏈表并返回。新鏈表是通過拼接給定的兩個(gè)鏈表的所有節(jié)點(diǎn)組成的。 方法一:遞歸 思...
    小怪獸_c4cb閱讀 153評(píng)論 0 0
  • 自己解法 這個(gè)題比較簡單,就是挨個(gè)比較兩個(gè)鏈表的節(jié)點(diǎn),值較小的節(jié)點(diǎn)放到新建的隊(duì)列,然后這個(gè)指針指向后面的節(jié)點(diǎn),這個(gè)...
    justonemoretry閱讀 102評(píng)論 0 0
  • 1.題目 將兩個(gè)有序鏈表合并為一個(gè)新的有序鏈表并返回。新鏈表是通過拼接給定的兩個(gè)鏈表的所有節(jié)點(diǎn)組成的。 2.示例 ...
    Codeapes閱讀 313評(píng)論 0 2
  • 題目描述: 將兩個(gè)有序鏈表合并為一個(gè)新的有序鏈表并返回。新鏈表是通過拼接給定的兩個(gè)鏈表的所有節(jié)點(diǎn)組成的。示例: 輸...
    LeeYunFeng閱讀 720評(píng)論 0 49
  • 21 合并兩個(gè)有序鏈表 將兩個(gè)升序鏈表合并為一個(gè)新的升序鏈表并返回。新鏈表是通過拼接給定的兩個(gè)鏈表的所有節(jié)點(diǎn)組成的...
    逍遙白亦閱讀 271評(píng)論 0 1

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