15 easy 141. 環形鏈表

法1:快慢指針法:

//給你一個鏈表的頭節點 head ,判斷鏈表中是否有環。 
//
// 如果鏈表中有某個節點,可以通過連續跟蹤 next 指針再次到達,則鏈表中存在環。 為了表示給定鏈表中的環,評測系統內部使用整數 pos 來表示鏈表尾連接到
//鏈表中的位置(索引從 0 開始)。注意:pos 不作為參數進行傳遞 。僅僅是為了標識鏈表的實際情況。 
//
// 如果鏈表中存在環 ,則返回 true 。 否則,返回 false 。 
//
// 
//
// 示例 1: 
//
// 
//
// 
//輸入:head = [3,2,0,-4], pos = 1
//輸出:true
//解釋:鏈表中有一個環,其尾部連接到第二個節點。
// 
//
// 示例 2: 
//
// 
//
// 
//輸入:head = [1,2], pos = 0
//輸出:true
//解釋:鏈表中有一個環,其尾部連接到第一個節點。
// 
//
// 示例 3: 
//
// 
//
// 
//輸入:head = [1], pos = -1
//輸出:false
//解釋:鏈表中沒有環。
// 
//
// 
//
// 提示: 
//
// 
// 鏈表中節點的數目范圍是 [0, 10?] 
// -10? <= Node.val <= 10? 
// pos 為 -1 或者鏈表中的一個 有效索引 。 
// 
//
// 
//
// 進階:你能用 O(1)(即,常量)內存解決此問題嗎? 
//
// Related Topics 哈希表 鏈表 雙指針 👍 2114 👎 0//leetcode submit region begin(Prohibit modification and deletion)import java.util.HashSet;/*** Definition for singly-linked list.* class ListNode {* int val;* ListNode next;* ListNode(int x) {* val = x;* next = null;* }* }*/
public class Solution {public boolean hasCycle(ListNode head) {if (head == null || head.next == null) {return false;}ListNode slow = head;ListNode fast = head.next;while (fast != null && fast.next != null) {if (fast == slow) {return true;}slow = slow.next;fast = fast.next.next;}return false;
//這樣寫也行,剛好打了個顛倒
/*        while (slow != fast) {if (fast == null || fast.next == null) {return false;}slow = slow.next;fast = fast.next.next;}return true;*/}
}
//leetcode submit region end(Prohibit modification and deletion)

法2:hash法:

public class Solution {public boolean hasCycle(ListNode head) {HashSet<ListNode> hashSet = new HashSet<ListNode>();while (true) {if (head == null) {return false;}boolean isSuccess = hashSet.add(head);if (!isSuccess) {return true;}head = head.next;}}
}

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

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

相關文章

Python爬蟲副業真的可行嗎?

首先回答你&#xff0c;是可行的&#xff0c;python爬蟲能當副業&#xff0c;副業的方式比較多&#xff0c;等下我會講幾種。 那學到哪個層次可以接單呢&#xff1f;主要看你是接什么樣的單&#xff0c;爬一些資料&#xff0c;視頻這種簡單的學一兩個月就沒什么問題&#xff0…

第一天 走進Docker的世界

第一天 走進Docker的世界 介紹docker的前世今生&#xff0c;了解docker的實現原理&#xff0c;以Django項目為例&#xff0c;帶大家如何編寫最佳的Dockerfile構建鏡像。通過本章的學習&#xff0c;大家會知道docker的概念及基本操作&#xff0c;并學會構建自己的業務鏡像&…

一文讀懂Persistence One- 如何將Restaking帶入Cosmos

Persistence One正在將Restaking引入Cosmos。用戶將能夠通過pSTAKE、Stride、Quicksilver和Milkyway將Liquid Staked Tokens&#xff08;如ATOM、TIA、DYDX等&#xff09;存入Persistence One&#xff0c;對其進行Restaking&#xff0c;從而安全地連接更多區塊鏈&#xff0c;首…

MySQL:數據庫中有哪些鎖

1、全局鎖 加上全局鎖后整個數據庫就處于只讀狀態了&#xff0c;這時其他線程執行以下操作&#xff0c;都會被阻塞&#xff1a; 對數據的增刪改操作&#xff0c;比如 insert、delete、update等語句&#xff1b;對表結構的更改操作&#xff0c;比如 alter table、drop table 等…

Android APK包反編譯為java文件教程

方法 流程&#xff1a; test.apk -> smali文件 -> dex文件 -> jar文件 ->java 文件 將APK包解壓為 smail文件 下載 apktool工具 apktool.jar 將 test.apk 和 apktool.jar放同一目錄下&#xff0c;并執行以下命令 java -jar apktool.jar d -f xxx.apk -o xxx(解…

【如何像網吧一樣弄個游戲菜單在家里】

GGmenu 個人家庭版游戲、應用管理 桌面圖標管理器

[環境配置]ssh連接報錯“kex_exchange_identification: read: Connection reset by peer”

已經被VScode ssh毒死好幾次了&#xff0c;都是執行命令意外中斷&#xff0c;然后又VSCode里連不上、本機Terminal也連不上了。。。 重啟遠程服務器&#xff0c;VSCode可以連上了&#xff0c; 系統ssh還是不行&#xff0c;報錯“kex_exchange_identification: read: Connecti…

容器(JAVA基礎)

一.泛型 在Java中,泛型(Generics)是JDK 5.0引入的一個新特性,它允許在定義類、接口和方法時使用類型參數(type parameters)。類型參數在使用前必須先被實際類型(如Integer、String等)替代,這個過程稱作類型實例化或類型擦除。泛型提供了編譯時類型安全,減少了運行時…

CSS~~

CSS是一門語言&#xff0c;用于控制網頁表現 CSS(Cascading Style Sheet):層疊樣式表 W3C標準:網頁主要由三部分組成 結構:HTML 表現: CSS 行為:JavaScript 1&#xff0c;CSS的導入方式 &#xff08;1&#xff09;內聯樣式 在標簽內部使用style屬性&#xff0c;屬性值是cs…

類 Unix 系統的文件目錄結構

以下是類 Unix 系統的文件目錄結構、各個目錄主要存放的文件以及縮寫的全稱的詳細說明&#xff1a; 根目錄 /&#xff1a; 全稱: Root Directory說明&#xff1a;根目錄是整個文件系統的起點&#xff0c;包含了所有其他目錄和文件。 /bin 目錄&#xff1a; 全稱: Binary說明&a…

Nginx最常用的指令

服務管理 sudo systemctl status nginx # nginx當前狀態 sudo systemctl reload nginx # 重新加載 nginx sudo systemctl restart nginx # 重啟nginxsudo nginx -t # 檢查語法 nginx # 啟動 nginx -s reload # 重啟 nginx -s stop # 關閉進程 nginx -s quit #…

Java學習筆記002——類的修飾符

在Java語言中&#xff0c;類的訪問修飾符決定了其它類能夠訪問該類的方式。類有如下4種訪問修飾符&#xff0c;在創建類時用于類的聲明&#xff1a; 1、public: 當一個類被聲明為public時&#xff0c;它可以從任何其他類中被訪問&#xff0c;無論這些類位于哪個包中。通常&am…

uniapp使用vue3語法構建自定義導航欄,適配小程序膠囊

具體代碼 <template><view class"nav-wrapper-container" :style"height:navBarHeight px"><view class"nav-status-container" :style"height:navstatusBarHeight px;" /><view v-if"isCustom" clas…

數字化轉型導師堅鵬:BLM證券公司數字化轉型戰略

BLM證券公司數字化轉型戰略 ——以BLM模型為核心&#xff0c;實現知行果合一 課程背景&#xff1a; 很多證券公司存在以下問題&#xff1a; 不知道如何系統地制定證券公司數字化轉型戰略&#xff1f; 不清楚其它證券公司數字化轉型戰略是如何制定的&#xff1f; 不知道…

Redis 淘汰策略、持久化、高可用

淘汰策略 只有 redis 內存空間已滿并且往里面寫新數據&#xff0c;才會觸發淘汰策略。通過 expire / / /pexpire 讓 key-value 過期&#xff0c;從而讓 redis 清除這個 key-value。value 的數據結構typedef struct redisObject {unsigned tpye:4;unsigned encoding:4;// 判斷哪…

個人數倉開發面試題記錄

一.廣州電商公司 1.簡單自我介紹 2.介紹下之前的公司離線數倉項目 3.mysql和hive區別&#xff1f; 4.sql的執行順序&#xff1f; 5.hive的優化 6.說下你之前公司來&#xff0c;你的技能層次在每個公司&#xff1f;你怎么評價你的技能&#xff1f; 7.你的之前業務主要是做什么&…

Linux基礎命令[10]-cmp

文章目錄 1. cmp 命令說明2. cmp 命令語法3. cmp 命令示例3.1 不加參數3.2 -b&#xff08;顯示不同的字節&#xff09;3.3 -i&#xff08;跳過字節&#xff09;3.4 -l&#xff08;顯示所有不同&#xff09;3.5 -n&#xff08;比較n個字節&#xff09;3.6 -s&#xff08;不顯示信…

el-select 不能重復選擇

el-select 不能重復選擇&#xff0c;注意&#xff1a;刪除后可以再次重新被選擇 <el-form-item><el-select v-model"attribute.attributeSelect" change"changeSelect()" placeholder"請選擇屬性分組" clearable><el-optionv-fo…

PostgreSQL restartpoint 原理詳解

背景 大部分人對 PG 的 checkpoint 機制會熟悉一點&#xff0c;但是對 restartpoint 卻不太熟悉&#xff0c;網上介紹這方面的文章也比較少。因此&#xff0c;本文將以 PG 14.7 的社區代碼為基礎&#xff0c;介紹 PG 中的 restartpoint 機制。 原理介紹 什么是 restartpoint…

華為OD技術面試案例1-2024年

背景&#xff1a; 學校背景&#xff1a;211本科工作經驗&#xff1a;1年半轉行目標&#xff1a;測試崗位 一、機考 &#xff08;得分&#xff1a;350&#xff09; 二、01.04 hr面 自我介紹選擇東莞的原因對OD&#xff08;華為研發崗位&#xff09;的看法家庭情況簡歷相關問…