91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

横山县| 陆河县| 湘潭县| 宁化县| 水城县| 济南市| 云阳县| 武隆县| 鄂州市| 长岛县| 乾安县| 历史| 石门县| 平潭县| 环江| 信宜市| 克什克腾旗| 遵义市| 东海县| 咸阳市| 九龙城区| 封丘县| 洮南市| 平山县| 砀山县| 开平市| 东方市| 四子王旗| 鄄城县| 江北区| 道孚县| 水城县| 九龙坡区| 沙洋县| 舒城县| 漯河市| 丰城市| 绥滨县| 普格县| 松阳县| 西青区|