国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

27、鏈表-合并兩個(gè)有序鏈表

這篇具有很好參考價(jià)值的文章主要介紹了27、鏈表-合并兩個(gè)有序鏈表。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

27、鏈表-合并兩個(gè)有序鏈表,leetcode 熱題100,鏈表,數(shù)據(jù)結(jié)構(gòu),算法,java

思路:

這道題不需要集合放入兩個(gè)鏈表再進(jìn)行重排序,只需要兩個(gè)指針,按大小進(jìn)行遍歷,代碼如下:

class Solution {
    /**
     * 1->3->5->7
     * 2->4->6->8->10->12
     * 
     * 1->3->5->7
     * h  c1
     * p
     * 2->4->6->8->10->12
     * c2
     * 
     * 每次都是比較c1和c2 那個(gè)小 誰小p的next指針指向誰 
     *   然后c1 或者c2 向前走一位,p來到p.next 位置
     * 
     * 最后判斷p.next=c1==null?c2:c1
     */
    public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
        if (list1==null||list2==null){
            return list1==null?list2:list1;
        }
        
        ListNode head=list1.val<=list2.val?list1:list2;
        ListNode cur1=head.next;
        ListNode cur2=head==list1?list2:list1;
        ListNode pre=head;
        
        while (cur1!=null&&cur2!=null){
            if (cur1.val<=cur2.val){
                pre.next=cur1;
                cur1=cur1.next;
            }else {
                pre.next=cur2;
                cur2=cur2.next;
            }
            pre=pre.next;
        }
        pre.next=cur1==null?cur2:cur1;
        return head;
    }
}

?文章來源地址http://www.zghlxwxcb.cn/news/detail-850841.html

到了這里,關(guān)于27、鏈表-合并兩個(gè)有序鏈表的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Leetcode算法遞歸類—合并兩個(gè)有序鏈表

    Leetcode算法遞歸類—合并兩個(gè)有序鏈表

    目錄 21.?合并兩個(gè)有序鏈表 題解: 代碼: 將兩個(gè)升序鏈表合并為一個(gè)新的? 升序 ?鏈表并返回。新鏈表是通過拼接給定的兩個(gè)鏈表的所有節(jié)點(diǎn)組成的。? 示例 1: 示例 2: 示例 3: 提示: 兩個(gè)鏈表的節(jié)點(diǎn)數(shù)目范圍是? [0, 50] -100 = Node.val = 100 l1 ?和? l2 ?均按? 非遞減順序 ?

    2024年02月13日
    瀏覽(33)
  • 【Leetcode刷題】鏈表的中間結(jié)點(diǎn)和合并兩個(gè)有序鏈表

    【Leetcode刷題】鏈表的中間結(jié)點(diǎn)和合并兩個(gè)有序鏈表

    生命如同寓言,其價(jià)值不在與長短,而在與內(nèi)容。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ——塞涅卡 目錄 一.鏈表的中間結(jié)點(diǎn) 1.快慢指針 二.合并兩個(gè)有序鏈表? 1.尾插法 給你單鏈表的頭結(jié)點(diǎn) head ,請(qǐng)你找出并返回鏈表的中間結(jié)點(diǎn)。 如果有兩個(gè)中間結(jié)點(diǎn),則返回第二個(gè)中間結(jié)點(diǎn)

    2023年04月17日
    瀏覽(33)
  • 【數(shù)據(jù)結(jié)構(gòu)】--oj_合并兩個(gè)有序鏈表(詳解)

    【數(shù)據(jù)結(jié)構(gòu)】--oj_合并兩個(gè)有序鏈表(詳解)

    目錄 方法一:無頭結(jié)點(diǎn)的方法? 方法二:有頭結(jié)點(diǎn)的方法 題述: 已給函數(shù)頭: struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2) 已給出鏈表的結(jié)構(gòu)體定義: struct ListNode { ?? ?struct ListNode* next; ?? ?int val; }; 已知l1、l2分別指向兩個(gè)鏈表 要求: 將兩個(gè)升序鏈表合并為一

    2024年02月07日
    瀏覽(20)
  • 將兩個(gè)遞增的有序鏈表合并為一個(gè)遞增的有序鏈表.【數(shù)據(jù)結(jié)構(gòu)】【線性表】

    將兩個(gè)遞增的有序鏈表合并為一個(gè)遞增的有序鏈表.【數(shù)據(jù)結(jié)構(gòu)】【線性表】

    編寫一個(gè)函數(shù)完成如下功能:將兩個(gè)遞增的有序鏈表合并為一個(gè)遞增的有序鏈表。要求結(jié)果鏈表仍使用原來的鏈表空間,不另外占用其他的存儲(chǔ)空間。表中不允許有重復(fù)的數(shù)據(jù)。 要求,在主函數(shù)中調(diào)用上面的函數(shù)測試。 提示:還需要定義其他函數(shù),比如初始化鏈表,構(gòu)造單

    2024年02月06日
    瀏覽(25)
  • LeetCode150道面試經(jīng)典題-- 合并兩個(gè)有序鏈表(簡單)

    LeetCode150道面試經(jīng)典題-- 合并兩個(gè)有序鏈表(簡單)

    將兩個(gè)升序鏈表合并為一個(gè)新的 升序 鏈表并返回。新鏈表是通過拼接給定的兩個(gè)鏈表的所有節(jié)點(diǎn)組成的。? 示例 1: 輸入:l1 = [1,2,4], l2 = [1,3,4] 輸出:[1,1,2,3,4,4]? ? 示例 2: 輸入:l1 = [], l2 = [] 輸出:[] 示例 3: ? 輸入:l1 = [], l2 = [0] 輸出:[0] 遞歸調(diào)用 將這個(gè)問題不斷拆分

    2024年02月12日
    瀏覽(29)
  • 反轉(zhuǎn)鏈表、鏈表的中間結(jié)點(diǎn)、合并兩個(gè)有序鏈表【LeetCode刷題日志】

    反轉(zhuǎn)鏈表、鏈表的中間結(jié)點(diǎn)、合并兩個(gè)有序鏈表【LeetCode刷題日志】

    給你單鏈表的頭節(jié)點(diǎn) head ,請(qǐng)你反轉(zhuǎn)鏈表,并返回反轉(zhuǎn)后的鏈表。 力扣(LeetCode)官網(wǎng) - 全球極客摯愛的技術(shù)成長平臺(tái) 這里解釋一下三個(gè)指針的作用: n1:記錄上一個(gè)節(jié)點(diǎn),如果是第一個(gè)就指向空 n2:記錄此節(jié)點(diǎn)的位置 n3:記錄下一個(gè)節(jié)點(diǎn)的位置,讓翻轉(zhuǎn)后能找到下一個(gè)節(jié)點(diǎn)

    2024年02月03日
    瀏覽(24)
  • 【刷題筆記8.15】【鏈表相關(guān)】LeetCode:合并兩個(gè)有序鏈表、反轉(zhuǎn)鏈表

    【刷題筆記8.15】【鏈表相關(guān)】LeetCode:合并兩個(gè)有序鏈表、反轉(zhuǎn)鏈表

    將兩個(gè)升序鏈表合并為一個(gè)新的 升序 鏈表并返回。新鏈表是通過拼接給定的兩個(gè)鏈表的所有節(jié)點(diǎn)組成的。 輸入:l1 = [1,2,4], l2 = [1,3,4] 輸出:[1,1,2,3,4,4] 示例 2: 輸入:l1 = [], l2 = [] 輸出:[] 示例 3: 輸入:l1 = [], l2 = [0] 輸出:[0] 此題沒啥好說的,直接上代碼,自己好好分析

    2024年02月12日
    瀏覽(31)
  • 【Leetcode -21.合并兩個(gè)有序鏈表 -83.刪除排序鏈表中的重復(fù)元素】

    【Leetcode -21.合并兩個(gè)有序鏈表 -83.刪除排序鏈表中的重復(fù)元素】

    題目:將兩個(gè)升序鏈表合并為一個(gè)新的 升序 鏈表并返回。新鏈表是通過拼接給定的兩個(gè)鏈表的所有節(jié)點(diǎn)組成的。 示例 1: 輸入:l1 = [1, 2, 4], l2 = [1, 3, 4] 輸出:[1, 1, 2, 3, 4, 4] 示例 2: 輸入:l1 = [], l2 = [] 輸出:[] 示例 3: 輸入:l1 = [], l2 = [0] 輸出:[0] 我們的思路是,先定義

    2023年04月24日
    瀏覽(29)
  • 圖靈日記之Leetcode刪除有序數(shù)組中的重復(fù)項(xiàng)&&合并兩個(gè)有序數(shù)組&&移除鏈表元素

    給你一個(gè) 非嚴(yán)格遞增排列 的數(shù)組 nums ,請(qǐng)你 原地 刪除重復(fù)出現(xiàn)的元素,使每個(gè)元素 只出現(xiàn)一次 ,返回刪除后數(shù)組的新長度。元素的 相對(duì)順序 應(yīng)該保持 一致 。然后返回 nums 中唯一元素的個(gè)數(shù)。 考慮 nums 的唯一元素的數(shù)量為 k ,你需要做以下事情確保你的題解可以被通過

    2024年02月04日
    瀏覽(21)
  • C語言 | Leetcode C語言題解之第21題合并兩個(gè)有序鏈表

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包