leetcode_鏈表 876.鏈表的中間節點

876.鏈表的中間節點

  • 給你單鏈表的頭結點 head ,請你找出并返回鏈表的中間結點。如果有兩個中間結點,則返回第二個中間結點。
  • 思路:快慢指針,創建兩個指針fast和slow,fast指針每次移動兩步,slow指針每次移動一步,這樣當fast指針指向列表以外的值的時候(退出循環的時候),slow指針正好指向鏈表的中間節點。
- # Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution(object):def middleNode(self, head):""":type head: Optional[ListNode]:rtype: Optional[ListNode]"""if not head or not head.next:# 若鏈表不存在或只有一個節點時,返回headreturn headfast, slow = head, headwhile fast and fast.next:fast = fast.next.nextslow = slow.nextreturn slow
  • 時間復雜度:O(n)
  • 空間復雜度::O(1)
  • 快慢指針的優勢
    • 解決鏈表中常見的問題:例如找中點、判斷環、回文鏈表等,常常用到快慢指針。
    • 高效的空間利用:只使用常數空間,避免了使用額外的空間(如棧或哈希表等)。

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

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

相關文章

深度學習 DAY3:NLP發展史及早期的前饋神經網絡(ANN)及多任務學習

NLP發展史 NLP發展脈絡簡要梳理如下: 2001 - Neural language models(神經語言模型) 2008 - Multi-task learning(多任務學習) 2013 - Word embeddings(詞嵌入) 2013 - Neural networks for NL…

全面了解 Web3 AIGC 和 AI Agent 的創新先鋒 MelodAI

不管是在傳統領域還是 Crypto,AI 都是公認的最有前景的賽道。隨著數字內容需求的爆炸式增長和技術的快速迭代,Web3 AIGC(AI生成內容)和 AI Agent(人工智能代理)正成為兩大關鍵賽道。 AIGC 通過 AI 技術生成…

54.數字翻譯成字符串的可能性|Marscode AI刷題

1.題目 問題描述 小M獲得了一個任務,需要將數字翻譯成字符串。翻譯規則是:0對應"a",1對應"b",依此類推直到25對應"z"。一個數字可能有多種翻譯方法。小M需要一個程序來計算一個數字有多少種不同的…

FileReader使用

FileReader : 讀取文件內容的api,,,在前端處理上傳的文件,,比如預覽圖片 readAsDataURL(file) : 讀取為base64編碼的 data urlreadAsText() : 讀取為文本readAsArrayBuffer() : 讀取為二進制 …

RabbitMQ5-死信隊列

目錄 死信的概念 死信的來源 死信實戰 死信之TTl 死信之最大長度 死信之消息被拒 死信的概念 死信,顧名思義就是無法被消費的消息,一般來說,producer 將消息投遞到 broker 或直接到queue 里了,consumer 從 queue 取出消息進…

JavaScript系列(48)-- 3D渲染引擎實現詳解

JavaScript 3D渲染引擎實現詳解 🎮 今天,讓我們深入探討JavaScript的3D渲染引擎實現。通過WebGL和現代JavaScript技術,我們可以構建一個功能完整的3D渲染系統。 3D渲染基礎概念 🌟 💡 小知識:3D渲染引擎的…

10JavaWeb——SpringBootWeb案例01

前面我們已經講解了Web前端開發的基礎知識,也講解了Web后端開發的基礎(HTTP協議、請求響應),并且也講解了數據庫MySQL,以及通過Mybatis框架如何來完成數據庫的基本操作。 那接下來,我們就通過一個案例,來將前端開發、后…

【面試題】 Java 三年工作經驗(2025)

問題列表 為什么選擇 spring boot 框架,它與 Spring 有什么區別?spring mvc 的執行流程是什么?如何實現 spring 的 IOC 過程,會用到什么技術?spring boot 的自動化配置的原理是什么?如何理解 spring boot 中…

JAVA 接口、抽象類的關系和用處 詳細解析

接口 - Java教程 - 廖雪峰的官方網站 一個 抽象類 如果實現了一個接口,可以只選擇實現接口中的 部分方法(所有的方法都要有,可以一部分已經寫具體,另一部分繼續保留抽象),原因在于: 抽象類本身…

ResNeSt: Split-Attention Networks論文學習筆記

這張圖展示了一個名為“Split-Attention”的神經網絡結構,該結構在一個基數組(cardinal group)內進行操作。基數組通常指的是在神經網絡中處理的一組特征或通道。圖中展示了如何通過一系列操作來實現對輸入特征的注意力機制。 以下是圖中各部…

數據收集后臺服務概要設計

為了幫助大家設計一個數據指標匯總的后端應用,我將提供一個概要設計和表設計的建議。這個設計將基于常見的數據收集需求,假設你需要收集、存儲和匯總來自不同數據源的指標數據。 1. 概要設計 1.1 系統架構 數據收集層:負責從不同數據源&am…

探秘 TCP TLP:從背景到實現

回家的路上還討論了個關于 TCP TLP 的問題,閑著無事縷一縷。本文內容參考自 Tail Loss Probe (TLP): An Algorithm for Fast Recovery of Tail Losses 以及 Linux 內核源碼。 TLP,先說緣由。自 TCP 引入 Fast retrans 機制就是為了盡力避免 RTO&#xf…

設計模式Python版 原型模式

文章目錄 前言一、原型模式二、原型模式示例三、原型管理器 前言 GOF設計模式分三大類: 創建型模式:關注對象的創建過程,包括單例模式、簡單工廠模式、工廠方法模式、抽象工廠模式、原型模式和建造者模式。結構型模式:關注類和對…

一文大白話講清楚webpack進階——5——dev-server原理及其作用

文章目錄 一文大白話講清楚webpack進階——5——dev-server原理及其作用1. webpack的作用2. dev-server的作用3. dev-server的原理3.1 啥是webpack-dev-middleware3.2 HMR 一文大白話講清楚webpack進階——5——dev-server原理及其作用 1. webpack的作用 webpack的作用我們之…

【第十天】零基礎入門刷題Python-算法篇-數據結構與算法的介紹-兩種常見的字符串算法(持續更新)

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 前言一、Python數據結構與算法的詳細介紹1.Python中的常用的字符串算法2.字符串算法3.詳細的字符串算法1)KMP算法2)Rabin-Karp算法 總結 前言…

Writing an Efficient Vulkan Renderer

本文出自GPU Zen 2。 Vulkan 是一個新的顯式跨平臺圖形 API。它引入了許多新概念,即使是經驗豐富的圖形程序員也可能不熟悉。Vulkan 的主要目標是性能——然而,獲得良好的性能需要深入了解這些概念及其高效應用方法,以及特定驅動程序實現的實…

使用QSqlQueryModel創建交替背景色的表格模型

class UserModel(QSqlQueryModel):def __init__(self):super().__init__()self._query "SELECT name, age FROM users"self.refresh()def refresh(self):self.setQuery(self._query)# 重新定義data()方法def data(self, index, role): if role Qt.BackgroundRole…

Java數據庫操作指南:快速上手JDBC【學術會議-2025年數字化教育與信息技術(DEIT 2025】

大會官網:www.ic-deit.org 前言 在現代企業應用中,數據庫是數據存儲和管理的重要組成部分。Java作為一種廣泛使用的編程語言,提供了多種方式與數據庫進行交互。本文將介紹 JDBC(Java Database Connectivity)&#x…

神經網絡的通俗介紹

人工神經網絡,是一種模仿人類大腦工作原理的數學模型。人類的大腦是由無數的小“工作站”組成的,每個工作站叫做“神經元”。這些神經元通過“電線”互相連接,負責接收、處理和傳遞信息。 一、人類大腦神經網絡 人類大腦的神經網絡大概長這…

FLTK - FLTK1.4.1 - demo - animgifimage-play

文章目錄 FLTK - FLTK1.4.1 - demo - animgifimage-play概述筆記END FLTK - FLTK1.4.1 - demo - animgifimage-play 概述 看的官方demo越多,在每個新demo中能看到的新增知識點越少。這是好事。 不可能一次將細節都記住,只要知道每個官方demo能干啥&…