亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

leetcode中怎么合并兩個排序的鏈表

發布時間:2021-08-12 14:41:35 來源:億速云 閱讀:114 作者:Leah 欄目:大數據

leetcode中怎么合并兩個排序的鏈表,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

題目

輸入兩個遞增排序的鏈表,合并這兩個鏈表并使新鏈表中的節點仍然是遞增排序的。

示例1:

輸入:1->2->4, 1->3->4
輸出:1->1->2->3->4->4

限制:

0 <= 鏈表長度 <= 1000

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。

題解

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        ListNode newHead = new ListNode(-1);
        ListNode cursor = newHead;
        while(l1 != null && l2 != null) {
            if (l1.val <= l2.val) {
                cursor.next = l1;
                l1 = l1.next;
            } else {
                cursor.next = l2;
                l2 = l2.next;
            }
            cursor = cursor.next;
        }

        if (l1 == null) {
            cursor.next = l2;
        }

        if (l2 == null) {
            cursor.next = l1;
        }

        return newHead.next;
    }
}
  • 這里先創建一個newHead節點來表示合并后鏈表的頭指針,然后創建一個cursor,其初始值為newHead;之后同時遍歷l1及l2,取最小的作為cursor.next,同時該鏈表前進一個節點,并且cursor跟著前進;最后再將cursor.next指向尚未遍歷完的鏈表的剩余節點;之后返回頭指針指向的節點

小結

合并兩個有序鏈表的基本思路就是設置一個cursor以及新鏈表的頭指針,然后同時遍歷兩個鏈表,取小的節點作為cursor的next,然后該鏈表往前進,cursor也跟著往前進,最后再將cursor.next指向尚未遍歷完的鏈表的剩余節點

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

唐山市| 阳新县| 隆安县| 将乐县| 炉霍县| 汝州市| 松溪县| 太仓市| 灵台县| 清远市| 建水县| 利津县| 海原县| 泗洪县| 板桥市| 罗田县| 柏乡县| 平和县| 安乡县| 布尔津县| 咸丰县| 土默特右旗| 湘潭市| 雷波县| 普洱| 青铜峡市| 广灵县| 道真| 巴马| 壶关县| 榆树市| 江华| 衡山县| 咸宁市| 巴彦县| 绩溪县| 准格尔旗| 家居| 沾益县| 荣成市| 曲周县|