21.合并兩個有序鏈表

將兩個升序鏈表合并為一個新的?升序?鏈表并返回。新鏈表是通過拼接給定的兩個鏈表的所有節點組成的。?

思路:這里使用的主要數據結構是單鏈表。該算法采用經典的雙指針技術來合并列表。

  1. A dummy node is created; this node does not hold any meaningful value but serves as the starting point of the merged?linked list.
    將創建一個虛擬節點;此節點不包含任何有意義的值,但用作合并鏈表的起點。
  2. A?curr?pointer is initialized to point at the dummy node. This pointer moves along the new list as nodes are added.
    curr?指針初始化為指向虛擬節點。添加節點時,此指針會沿新列表移動。
/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode mergeTwoLists(ListNode list1, ListNode list2) {ListNode dummyHead = new ListNode();ListNode current = dummyHead;while (list1!= null&& list2!=null){if(list1.val<=list2.val){current.next=list1;list1=list1.next;}else{current.next=list2;list2=list2.next;}current=current.next;}current.next=(list1==null)?list2:list1;return dummyHead.next;}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/86401.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/86401.shtml
英文地址,請注明出處:http://en.pswp.cn/web/86401.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue3中簡單易懂說明nextTick的使用

nextTick(): 等待下一次 DOM 更新刷新的工具方法 重點解釋: 當你在 Vue 中更改響應式狀態時&#xff0c;最終的 DOM 更新并不是同步生效的&#xff0c;而是由 Vue 將它們緩存在一個隊列中&#xff0c;直到下一個“tick”才一起執行。這樣是為了確保每個組件無論發生多少狀態改變…

gRPC 相關介紹

介紹 依賴兩大技術 HTTP/2 作為傳輸協議 gRPC 底層用 HTTP/2&#xff0c;它支持&#xff1a; 多路復用&#xff08;在一條 TCP 連接中并行傳輸多個請求和響應&#xff09;二進制傳輸&#xff08;更緊湊、高效&#xff09;流式傳輸&#xff08;客戶端流、服務端流、雙向流&…

PyTorch 模型鏡像下載與安裝指南

在國內&#xff0c;由于網絡限制&#xff0c;直接從 PyTorch 官方源下載可能會遇到速度慢或無法訪問的問題。為了解決這一問題&#xff0c;可以使用國內鏡像源來加速下載和安裝 PyTorch。 文章目錄 安裝指定版本的 PyTorch&#xff08;以 CUDA 11.8 為例&#xff09;安裝 CPU 版…

2025年SVN學習價值分析

?? 一、SVN的現狀與應用場景分析 仍在特定領域發揮作用 傳統企業維護場景&#xff1a;在金融、電信、政府等采用集中式開發流程的機構中&#xff0c;許多遺留系統仍使用SVN管理。這些系統往往體量龐大、架構穩定&#xff0c;遷移成本高&#xff0c;因此SVN短期內不會被完全替…

JavaScript中的10種排序算法:從入門到精通

作為前端開發者&#xff0c;排序算法是我們必須掌握的基礎知識。無論是在面試中&#xff0c;還是在實際開發中處理數據展示時&#xff0c;排序都是一個常見需求。今天&#xff0c;我將用通俗易懂的方式&#xff0c;帶你了解JavaScript中最常見的10種排序算法。 1. 冒泡排序 - …

【微信小程序】6、SpringBoot整合WxJava獲取用戶手機號

1、手機號快速驗證組件 手機號快速驗證組件 旨在幫助開發者向用戶發起手機號申請&#xff0c;并且必須經過用戶同意后&#xff0c;開發者才可獲得由平臺驗證后的手機號&#xff0c;進而為用戶提供相應服務。 該能力與手機號實時驗證組件的區別為&#xff1a; 手機號快速驗證…

redis8.0新特性:原生JSON支持詳解

文章目錄 一、寫在前面二、使用1、基本命令&#xff08;1&#xff09;JSON.SET 設置 JSON 值&#xff08;2&#xff09;JSON.GET 獲取 JSON 值&#xff08;3&#xff09;JSON.DEL 刪除 JSON 值&#xff08;4&#xff09;JSON.MGET 批量獲取&#xff08;5&#xff09;JSON.MSET …

QT網絡調試助手開發全指南,軟件設計圖預研,后續文檔跟進補充

網絡調試助手 1 TCP網絡調試助手 1.1 項目概述 網絡相關的一些基礎概念學習QTcpServer 學習QTcpClient 學習TextEdit特定位置輸入文字顏色學習網絡通信相關知識點 復習鞏固之前UI控件 程序運行如下圖所示 1.2 開發流程 1.3 QTtcp 服務器的關鍵流程 工程建立&#xff0c;需要在…

網絡分層模型與協議體系技術研究報告

網絡分層模型是計算機網絡體系結構的核心框架&#xff0c;它通過將復雜的網絡通信過程分解為多個層次&#xff0c;使網絡設計、實現和維護變得更加模塊化和標準化。 一、分層模型概念 1、OSI七層模型的詳細解析 開放系統互連參考模型&#xff08;OSI/RM&#xff09;是國際標…

C++面向對象7——C繼承與C++繼承對比、C++繼承詳解

繼承 C語言與C繼承機制的對比與實現 一、C語言模擬繼承的實現方法 C語言不支持面向對象編程的原生繼承機制&#xff0c;但可以通過結構體嵌套和函數指針組合來模擬。 1. 結構體嵌套實現"is-a"關系 // 基類&#xff1a;Shape typedef struct {int x;int y; } Sha…

運維打鐵: Windows 服務器基礎運維要點解析

文章目錄 思維導圖一級節點&#xff1a;Windows 服務器基礎運維要點 詳細內容解析系統安裝與配置硬件準備安裝介質選擇系統安裝過程初始配置 日常監控與維護性能監控服務狀態檢查日志管理 安全管理賬戶與權限管理防火墻配置病毒防護 備份與恢復備份策略制定備份工具使用恢復測試…

Python實例題:基于量子計算的優化算法實現(量子計算、優化理論)

目錄 Python實例題 題目 問題描述 解題思路 關鍵代碼框架 難點分析 擴展方向 Python實例題 題目 基于量子計算的優化算法實現&#xff08;量子計算、優化理論&#xff09; 問題描述 開發一個基于量子計算的優化算法實現&#xff0c;包含以下功能&#xff1a; 量子計…

基本算法--藍橋杯備考

1.前綴和 1.定義 假設有一個數組a[n],要計算它的前j個元素的和為 a[0]a[1]...a[j-1] 時間復雜度為O(j)&#xff0c;且隨著j的變大時間復雜度越來越大。 使用了前綴和算法則為 sum[j]-sum[j-1] 時間復雜度是O(1)&#xff0c;且數據越大優勢越明顯。 2.例題一 詳解見《可…

pgsql 中各個字符串的區別

PostgreSQL 提供了多種字符串類型&#xff0c;它們在存儲方式、長度限制和適用場景上有所不同。以下是主要字符串類型的詳細對比和區別&#xff1a; 一、核心字符串類型對比 CHAR(n)/CHARACTER(n) 特點&#xff1a;固定長度字符串&#xff0c;不足部分用空格填充最大長度&…

ubuntu中lightdm干嘛的?

在 Ubuntu 或其他 Linux 發行版中&#xff0c;LightDM 是一個輕量級的 顯示管理器&#xff08;Display Manager&#xff09;&#xff0c;負責圖形化登錄界面、用戶認證和會話啟動。以下是它的核心作用、特點及類似替代品的對比&#xff1a; 1. LightDM 的核心作用 功能說明圖形…

GraphQL注入 -- GPN CTF 2025 Real Christmas

part 1 服務器會每段時間禁用已注冊的賬號,此處存在漏洞 def deactivate_user_graphql(email):graphql_endpoint current_app.config["GRAPHQL_ENDPOINT"]query f"""mutation {{deactivateUser (user: {{email: "{email}"}}){{ success…

【機器學習深度學習】非線性激活函數

目錄 前言 一、什么是激活函數&#xff1f; 1.1 作用 二、如果沒有激活函數&#xff0c;會發生什么&#xff1f; 2.1 先看一張圖理解“線性”的局限 2.2 核心認知&#xff1a;為什么非線性如此重要&#xff1f; 三、非線性激活函數到底解決了什么問題&#xff1f; 1. 引…

國外開源客服系統chathoot部署,使用教程

目錄 一、系統版本要求&#xff1a; 二、部署步驟 2.1 安裝docker 和docker-compose 2.2 準備docker-compose.yaml 2.3 初始化數據庫 2.4 安裝nginx 2.6 啟動項目 三、使用教程 一、系統版本要求&#xff1a; linux ubuntu 22.042核4G 40GB&#xff08;或以上&#xf…

什么是回歸測試?什么時候需要做回歸測試?

回歸測試詳解&#xff1a;概念、時機與最佳實踐 1. 什么是回歸測試&#xff1f; 回歸測試&#xff08;Regression Testing&#xff09; 是指在對軟件進行修改&#xff08;如修復Bug、新增功能、優化代碼&#xff09;后&#xff0c;重新執行已有測試用例&#xff0c;以確保&am…

Android-Layout Inspector使用手冊

Layout Inspector Android Layout Inspector 是 Android Studio 中用于調試應用布局的工具 啟動方法&#xff1a; 通過下載Layout Inspector插件&#xff0c;在 “View - Tool Windows - Layout Inspector” 或 “Tools - Layout Inspector” 啟動。 主要界面區域&#xff1a…