每日一題——LeetCode141.環形鏈表

個人主頁:白日依山璟

專欄:Java|數據結構與算法|每日一題

文章目錄

    • 1. 題目描述
      • 示例1:
      • 示例2:
      • 示例3:
      • 提示:
    • 2. 思路
    • 3. 代碼

1. 題目描述

給你一個鏈表的頭節點 head ,判斷鏈表中是否有環。

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

如果鏈表中存在環 ,則返回 true 。 否則,返回 false

示例1:

img

輸入:head = [3,2,0,-4], pos = 1

輸出:true

解釋:鏈表中有一個環,其尾部連接到第二個節點。

示例2:

img

輸入:head = [1,2], pos = 0
輸出:true
解釋:鏈表中有一個環,其尾部連接到第一個節點

示例3:

img

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

提示:

  • 鏈表中節點的數目范圍是 [0, 104]
  • -105 <= Node.val <= 105
  • pos-1 或者鏈表中的一個有效索引

題目鏈接

2. 思路

  1. 定義兩個指針,一快一慢。慢指針每次移動一次,而快指針每次移動兩步。
  2. 初始化時,位置都在head
  3. 循環遍歷鏈表,移動快慢指針,如果在移動的過程中,快指針反過來追上慢指針,就說明該鏈表為環形鏈表。否則快指針到達鏈表尾部,該鏈表不為環形鏈表。

動畫:
1703475479379

3. 代碼

/*** 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) {ListNode fast = head;ListNode slow = head;while (fast != null && fast.next != null) {fast = fast.next.next;slow = slow.next;if (fast == slow) {return true;}}return false;}
}

運行結果:

image-20231225105525012

世界上有三種k,梅花k,方片k,還有任何人不關注我我都會難過的ok

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

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

相關文章

Android O 獲取APK文件權限 Demo案例

1. 通過 aapt 工具查看 APK權限 C:\Users\zh>adb pull /system/priv-app/Settings . /system/priv-app/Settings/: 3 files pulled. 10.8 MB/s (48840608 bytes in 4.325s)C:\Users\zh>aapt d permissions C:\Users\zh\Settings\Settings.apk package: com.android.sett…

VBoxManage命令更詳盡版

原文鏈接&#xff1a;http://418684644-qq-com.iteye.com/blog/1451000 ------------------------------------- VBoxManage命令詳解&#xff08;一&#xff09; 本人對vboxmange命令按我個人的理解作了解釋&#xff0c;由于本人水平有限難免有錯誤的地方&#xff0c;希望大…

linux make命令實現,Linux make命令主要參數詳解

-C dir或者 --directoryDIR在讀取makefile文件前&#xff0c;先切換到“dir”目錄下&#xff0c;即把dir作為當前目錄。如果存在多個-C選項&#xff0c;make的最終當前目錄是第一個目錄的相對路徑&#xff0c;如“make –C /home/leowang –C document”&#xff0c;等價于“ma…

行人屬性數據集pa100k_基于InceptionV3的多數據集聯合訓練的行人外觀屬性識別方法與流程...

本發明涉及模式識別技術、智能監控技術等領域&#xff0c;具體的說&#xff0c;是基于Inception V3的多數據集聯合訓練的行人外觀屬性識別方法。背景技術&#xff1a;近年來&#xff0c;視頻監控系統已經被廣泛應用于安防領域。安防人員通過合理的攝像頭布局&#xff0c;實現對…

VBoxManage獲取虛擬機IP地址

在宿主機Linux上安裝VirtualBox&#xff0c;然后VirtualBox上安裝linux虛擬機&#xff0c;在Virtualbox非界面啟動虛擬機時&#xff0c;ip地址無法查看。怎么辦&#xff1f; 使用命令&#xff1a; VBoxManage guestproperty enumerate 虛擬機名 | grep "Net.*V4.*IP"…

springboot系列(十)springboot整合shiro實現登錄認證

關于shiro的概念和知識本篇不做詳細介紹&#xff0c;但是shiro的概念還是需要做做功課的要不無法理解它的運作原理就無法理解使用shiro&#xff1b; 本篇主要講解如何使用shiro實現登錄認證&#xff0c;下篇講解使用shiro實現權限控制 要實現shiro和springboot的整合需要以下幾…

recyclerview item動畫_這可能是你見過的迄今為止最簡單的RecyclerView Item加載動畫...

如何實現RecyclerView Item動畫&#xff1f; 這個問題想必有很多人都會講&#xff0c;我可以用ItemAnimator實現啊&#xff0c;這是RecyclerView官方定義的接口&#xff0c;專門擴展Item動畫的&#xff0c;那我為什么要尋求另外一種方法實現呢&#xff1f;因為最近反思了一個問…

群暉編譯LCD4Linux,LCD4LINUX配置文件一些參數使用解釋。

#LCD顯示配置Display dpf {Driver DPF #LCD驅動類型Port usb0 #連接端口Font 6x8 #字體大小Foreground ffffff #字體…

VBoxManage: error: Nonexistent host networking interface, name 'vboxnet0' (VERR_INTERNAL_ERROR)

錯誤&#xff1a; VBoxManage: error: Nonexistent host networking interface, name vboxnet0 (VERR_INTERNAL_ERROR) 原因&#xff1a; 原來配置的網卡發生了變更&#xff0c;找不到了&#xff0c;啟動失敗。 解決方法&#xff1a; 第一步&#xff0c;命令&#xff1a; V…

捷信達溫泉管理軟件員工卡SQL查詢

捷信達溫泉管理軟件員工卡SQL查詢 select * from snkey where v_name2 like %員工% 網名&#xff1a;浩秦; 郵箱&#xff1a;root#landv.pw; 只要我能控制一個國家的貨幣發行&#xff0c;我不在乎誰制定法律。金錢一旦作響&#xff0c;壞話隨之戛然而止。

Linux 軟件安裝到 /usr,/usr/local/ 還是 /opt 目錄?

Linux 的軟件安裝目錄是也是有講究的&#xff0c;理解這一點&#xff0c;在對系統管理是有益的 /usr&#xff1a;系統級的目錄&#xff0c;可以理解為C:/Windows/&#xff0c;/usr/lib理解為C:/Windows/System32。 /usr/local&#xff1a;用戶級的程序目錄&#xff0c;可以理解…

winpe裝雙系統linux_使用syslinux在u盤安裝pubbylinux和winpe雙系統

使用syslinux在u盤安裝pubbylinux和winpe雙系統1,在u盤里安裝winpe,請參見"比較簡單的制作U盤winpe啟動盤方法"比較簡單的制作U盤winpe啟動盤方法 收藏1,下載一個深度winpev3.iso2,用winrar或ultraISO解壓深度winpev3.iso3,進入解壓出來的文件夾下&#xff0c;找到se…

esp32 嵌入式linux,初體驗樂鑫 ESP32 AT 指令-嵌入式系統-與非網

樂鑫 AT 固件初體驗初步體驗 AT 指令下 TCP 數傳&#xff0c;為了驗證 AT 命令解析器。前往樂鑫官網 下載最新版本 AT 固件和 AT 指令集手冊。硬件準備本文使用樂鑫的 ESP-WROOM-32(ESP-WROOM-32 是 ESP32-WROOM-32 的曾用名)模塊&#xff0c;4MB Flash&#xff0c;無 PSRAM。E…

主機ping不通Virtualbox里的虛擬機

在redhat上安裝了VirtualBox&#xff0c;虛擬了三臺Linux機器。 宿主機網卡更換過了。三臺虛擬機無法啟動了&#xff0c;搭建虛擬機的運維離職了。 VirtualBox的圖形界面壞了&#xff0c;啟動不了。只能用命令行&#xff0c;今天時間就花在命令行上了。 第一個問題是&#xf…

python后端開發靠譜嗎_【后端開發】python有這么強大嗎

因為Python是一種代表簡單主義思想的語言。除此之外&#xff0c;Python所擁有的標準庫更是金融、營銷類人群選擇它的理由。Python 易于學習可靠且高效(推薦學習&#xff1a;Python視頻教程)好吧&#xff0c;相較于其它許多你可以拿來用的編程語言而言&#xff0c;它“更容易一些…

linux 卸載 openldap,Linux下安裝openldap

Ubuntu apt-getinstall安裝參考&#xff1a;http://dongwang.wordpress.com/category/uncategorized/普通linux安裝,以XXX用戶身份安裝&#xff1a;1、安裝BerkeleyDB 4.7.25&#xff1a;伯克利大學嵌入式數據庫解決方案,openldap拿它作為存儲方案。http://download.oracle.com…

Git之原有基礎開發新功能

場景描述 當一個項目已經上線&#xff0c;同時又在原有基礎上新增功能模塊&#xff0c;于是乎就要在原有代碼的基礎上進行開發&#xff0c;在新增模塊功能的開發的過程中&#xff0c;項目發現了一個緊急Bug&#xff0c;需要修復。操作流程如下&#xff1a; -------------------…

pantum打印機驅動安裝m6506_奔圖Pantum M6506NW 驅動

這是奔圖Pantum M6506NW 驅動&#xff0c;是M6506NW奔圖打印機驅動&#xff0c;此設備內置WIFI熱點&#xff0c;安裝驅動可以幫助用戶解決打印機連接和工作中出現的問題&#xff0c;非常方便&#xff0c;需要的朋友快來本站下載吧&#xff01;驅動介紹奔圖M6506NW一體機驅動專為…

linux kvm查看線程狀態,kvm線程-005-線程狀態-THREAD_JUST_BORN

在kvm內部定義了線程狀態,如下:enum {THREAD_JUST_BORN 1, /* 還沒有啟動*/THREAD_ACTIVE 2, /* 當前正在運行,或者在等待運行的隊列中*/THREAD_SUSPENDED 4, /* 等待monitor或者alarm */THREAD_DEAD 8, /* 線程退出 */THREAD_MONITOR_WAIT 16, // 等待鎖THREAD_CONVAR_WA…

詳解VirtualBox虛擬機網絡環境解析和搭建-NAT、橋接、Host-Only、Internal、端口映射

原文鏈接&#xff1a;http://www.jb51.net/article/98575.htm -------------------------------------------------- 本文以VirtualBox為例 如果出現主機無法ping通虛擬機的情況&#xff0c;請首先確認虛擬機防火墻已關閉。 一、NAT模式 特點&#xff1a; 1、如果主機可以上網…