每日一題 142環形鏈表||(快慢指針)

題目

給定一個鏈表的頭節點 ?head?,返回鏈表開始入環的第一個節點。?如果鏈表無環,則返回?null

如果鏈表中有某個節點,可以通過連續跟蹤?next?指針再次到達,則鏈表中存在環。 為了表示給定鏈表中的環,評測系統內部使用整數?pos?來表示鏈表尾連接到鏈表中的位置(索引從 0 開始)。如果?pos?是?-1,則在該鏈表中沒有環。注意:pos?不作為參數進行傳遞,僅僅是為了標識鏈表的實際情況。

不允許修改?鏈表。

示例 1:

輸入:head = [3,2,0,-4], pos = 1
輸出:返回索引為 1 的鏈表節點
解釋:鏈表中有一個環,其尾部連接到第二個節點。

示例?2:

輸入:head = [1,2], pos = 0
輸出:返回索引為 0 的鏈表節點
解釋:鏈表中有一個環,其尾部連接到第一個節點。

示例 3:

輸入:head = [1], pos = -1
輸出:返回 null
解釋:鏈表中沒有環。

題解

/*** Definition for singly-linked list.* class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
public class Solution {public ListNode detectCycle(ListNode head) {//設環外的部分為a,環入口到相遇點(正向)為b,環長為b+c//fast:a+b+n(b+c) slow:a+b 2(a+b)=a+b+n(b+c) a=c+(n-1)(b+c)//slow按照環的方向走到入口與head走到入口的距離相等//slow一定在第一圈內與fast相遇 //如果slow剛進入環,slow與fast相差N步,則一共執行fast兩步slow一步的循環N次//也就是slow走了N步,而N小于環長ListNode fast = head;ListNode slow = head;while (fast != null && fast.next != null) {slow = slow.next;fast = fast.next.next;if (slow == fast) {while (head != slow) {slow = slow.next;head = head.next;}return slow;}}return null;}
}

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

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

相關文章

深入理解【二叉樹】

📙作者簡介: 清水加冰,目前大二在讀,正在學習C/C、Python、操作系統、數據庫等。 📘相關專欄:C語言初階、C語言進階、C語言刷題訓練營、數據結構刷題訓練營、有感興趣的可以看一看。 歡迎點贊 &#x1f44d…

Java中的異常

認識異常 異常就是程序出現的問題; Integer.valueOf("aaaa"); 異常體系 因為寫代碼時經常會出現問題,Java的設計者們早就為我們寫好了很多個異常類,來描述不同場景下的問題。而有些類是有共性的所以就有了異常的繼承體系 Error&…

日志采集分析ELK

這里的 ELK其實對應三種不同組件 1.ElasticSearch:基于Java,一個開源的分布式搜索引擎。 2.LogStash:基于Java,開源的用于收集,分析和存儲日志的工具。(它和Beats有重疊的功能,Beats出現之后&a…

OLED透明屏采購指南:如何選擇高質量產品?

著科技的不斷進步,OLED透明屏作為一種創新的顯示技術,在各個行業中得到了廣泛應用。 在進行OLED透明屏采購時,選擇高質量的產品至關重要。在這篇文章中,尼伽將為您提供一個全面的OLED透明屏采購指南,幫助您了解關鍵步…

day20 飛機大戰射擊游戲

有飛行物類 飛行 爆炸 的連環畫, 飛行的背景圖 , 子彈圖, 還有游戲開始 暫停 結束 的畫面圖。 設計一個飛機大戰的小游戲, 玩家用鼠標操作hero飛行機, 射出子彈殺死敵機,小蜜蜂。 敵機可以獲得分數&…

Jmeter參數化類型

1.參數在多個請求報文中出現,執行一次需要使用同一個參數--隨機生成(隨機變更) 2.參數在請求報文中出現,執行過程需要使用同一個參數(--固定參數) 3.參數從指定幾個固定中隨機獲取一個 4.參數從本地文件中獲取 5.參數在多個請求報文中出現,每…

c++11:std::partition分割,std::is_partitioned判斷

序列 vec.clear();for(int i 0;i<10;i){vec.push_back(i);}重新分割。大于1的排在后&#xff0c;返回第一個 std::vector<int>::iterator it std::partition(vec.begin(),vec.end(),[](int value){return value>1;}); std::cout<<"partition:"&l…

計算機 數進制轉換;存儲MB與帶寬Mbps

參考&#xff1a;https://zhuanlan.zhihu.com/p/459817484 1、計算機 數進制轉換 1&#xff09;與十進制相關的轉換 2&#xff09;與二進制相關的轉換 二進制是Binary&#xff0c;簡寫為B&#xff1b;八進制是Octal&#xff0c;簡寫為O&#xff1b;十進制是Decimal&#xff…

centos nginx配置ipv4和ipv6的地址都可以訪問同一個網站

標題centos nginx配置ipv4和ipv6的地址都可以訪問同一個網站 在 Nginx 中配置使 IPv4 和 IPv6 地址都可以訪問同一個網站相對簡單。只需要確保 Nginx 配置文件正確地配置了監聽 IPv4 和 IPv6 地址的監聽器即可。 打開你的 Nginx 配置文件&#xff0c;通常位于 /etc/nginx/nginx…

還在玩傳統終端,不妨來試試全新 AI 終端 Warp

壹 ? 引 最近一段時間&#xff0c;AI領域如同雨后春筍般開始猛烈生長&#xff0c;processon&#xff0c;sentry&#xff0c;一些日常使用的工具都在積極接入AI&#xff0c;那么正好借著AI的風頭&#xff0c;今天給大家推薦一款非常不錯的智能終端 warp&#xff08;目前僅限ma…

車載APP軟件外包開發通訊

車載APP與車輛之間的通信方式和特點會因為不同的技術和場景而有所不同。以下是一些常見的車載APP與車輛通信方式以及它們的特點&#xff0c;希望對大家有所幫助。北京木奇移動技術有限公司&#xff0c;專業的軟件外包開發公司&#xff0c;歡迎交流合作。 1.藍牙連接&#xff1a…

英語——基本句型

第一節 句型1——主語+謂語 一個句子為了說明一件事或表達一種感情,最簡單的表達方式,就是“誰,怎么了”。這里的“誰”,就是句子的主語,它的內涵很豐富,可以是人、物、某種行為等。“怎么了”,就是句子的謂語,一般由不及物動詞充當。主語+謂語,即構成一個最簡單的句…

STM32 F103C8T6學習筆記9:0.96寸單色OLED顯示屏—自由取模顯示—顯示漢字與圖片

今日學習0.96寸單色OLED顯示屏的自由取模顯示: 宋體漢字比較復雜&#xff0c;常用字符可以直接復制存下來&#xff0c;畢竟只有那么幾十個字母字符&#xff0c;但漢字實在太多了&#xff0c;基本不會全部放在單片機里存著&#xff0c;一般用到多少個字就取幾個字的模&#xff…

基于STM32+微信小程序設計的寵物投喂裝置(騰訊云IOT)

一、設計需求 【1】 項目背景 社會經濟的飛速發展與城市化進程的加速,城市市民家庭的封閉化和人口老齡化的情況日益突出,基于人們的情感寄托與休閑消費的需要,中國的寵物產業也悄然興起。家庭寵物的飼養成為了城市居民生活消遣的新方式。寵物的喂養和看護往往是寵物主人最…

hive高頻使用的拼接函數及“避坑”

hive高頻使用的拼接函數及“避坑” 說到拼接函數應用場景和使用頻次還是非常高&#xff0c;比如一個員工在公司充當多個角色&#xff0c;我們在底層存數的時候往往是多行&#xff0c;但是應用的時候我們通常會只需要一行&#xff0c;角色字段進行拼接&#xff0c;這樣join其他…

typescript基礎之null和undefined

TypeScript是一種基于JavaScript的編程語言&#xff0c;它支持靜態類型檢查和面向對象的特性。TypeScript中的null和undefined是兩種基本類型&#xff0c;它們分別表示空值或未定義的值。在本文中&#xff0c;我將介紹TypeScript中null和undefined的含義、區別、檢查方法和使用…

Transformer 相關模型的參數量計算

如何計算Transformer 相關模型的參數量呢&#xff1f; 先回憶一下Transformer模型論文《Attention is all your need》中的兩個圖。 設Transformer模型的層數為N&#xff0c;每個Transformer層主要由self-attention 和 Feed Forward組成。設self-attention模塊的head個數為 …

linux系統部署jenkins詳細教程

一、Linux環境 1、下載war包 官網下載地址&#xff1a; https://get.jenkins.io/war-stable/2.332.4/jenkins.war 2、將war包上傳至服務器 創建目錄/home/ubuntu/jenkins 上傳war包至該目錄 3、將jenkins添加到環境變量 進入環境變量文件 vim /etc/profile # 文件下方追加…

【3Ds Max】圖形合并命令的簡單使用

示例&#xff08;將文字設置在球體上&#xff09; 1. 首先這里創建一個球體和一個文本 2. 選中球體&#xff0c;在復合對象中點擊圖形合并按鈕 點擊“拾取圖形”按鈕&#xff0c;然后選中文本&#xff0c;此時可以看到球體上已經投射出文本 3. 接下來是一些常用參數的介紹 當…

從零實戰SLAM-第八課(非特征點的視覺里程計)

在七月算法報的班&#xff0c;老師講的蠻好。好記性不如爛筆頭&#xff0c;關鍵內容還是記錄一下吧&#xff0c;課程入口&#xff0c;感興趣的同學可以學習一下。 --------------------------------------------------------------------------------------------------------…