首页 > 其他分享 >(链表)06-判断链表中是否有环

(链表)06-判断链表中是否有环

时间:2023-11-15 22:55:05浏览次数:26  
标签:slow ListNode fast next 链表 有环 06 指针

 1 /**
 2  * Definition for singly-linked list.
 3  * class ListNode {
 4  *     int val;
 5  *     ListNode next;
 6  *     ListNode(int x) {
 7  *         val = x;
 8  *         next = null;
 9  *     }
10  * }
11  */
12 public class Solution {
13     public boolean hasCycle(ListNode head) {
14         // 定义临时变量-快慢两个指针
15         ListNode fast = head;
16         ListNode slow = head;
17         // 循环链表
18         while(fast != null && fast.next != null) {
19             // 快指针走两步
20             fast = fast.next.next;
21             // 慢指针走一步
22             slow = slow.next;
23             // 快慢指针相遇则说明有环
24             if (fast == slow) {
25                 return true;
26             }
27         }
28         // 链表遍历到尾节点说明没有环
29         return false;
30     }
31 }

 

标签:slow,ListNode,fast,next,链表,有环,06,指针
From: https://www.cnblogs.com/StringBuilder/p/17835062.html

相关文章

  • 牛客题霸 BM1 反转链表
    BM1 反转链表  简单  通过率:38.76%  时间限制:1秒  空间限制:256M知识点链表描述给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。 数据范围: 0\leqn\leq10000≤n≤1000要求:空间复杂度......
  • 从零开始构建报警中心:part06 报警中心功能设计01-总览
    前几部分写的都是围绕着报警中心的一些外围功能。本篇开始描述报警中心的各个功能。概述报警中心需要的一些功能模块:用户管理:用户信息,登录接入,权限等报警记录:记录报警的各项信息通知规则:配置报警通知规则计划任务:设定计划任务,根据通知规则进行通知行为的触发主机信息:记录报警主机信......
  • CF906 div2
    CF906div2A.Doremy'sPaint3题意给出一个序列,可以随意打乱顺序,问最后能否使得所有相邻两个元素的和相等。数据范围多组数据,\(2<=n<=100,1<=a_i<=10^5\)样例输入52893112411455233334100000100000100000100000样例输出YesYesNoNo......
  • Java流程控制06:While循环详解
     一、while循环publicclassWhileDemo01{publicstaticvoidmain(String[]args){//输出1~100,并且求和inti=1;intsum=0;while(i!=101){System.out.println(i);sum=sum+i;i++......
  • (链表)05-合并K个已排序的链表
    1importjava.util.*;23/**4*Definitionforsingly-linkedlist.5*publicclassListNode{6*intval;7*ListNodenext;8*ListNode(intx){9*val=x;10*next=null;11*}12*}13*/1......
  • (链表)12-单链表的排序
    1importjava.util.*;23/*4*publicclassListNode{5*intval;6*ListNodenext=null;7*publicListNode(intval){8*this.val=val;9*}10*}11*/12publicclassSolution{13/**14*@paramhead......
  • XR806开发板环境搭建记录
    xr806_sdk是全志旗下的一个嵌入式sdk,支持wifi,蓝牙,低功耗等。特特哥哥记录下环境搭建的必备流程:(Ubuntu18.04)1sudoaptinstallgcc2sudoaptinstallmake3sudoaptinstallcmake4sudoaptinstallgit5sudoaptinstalllibncurses5-dev6wgethttps://bbs......
  • Codeforces Round 906 (Div. 2)
    A.简单题B.简单题C.比赛时没做出来,赶着回宿舍,过了几天来补发现很简单秒掉D.Doremy'sConnectingPlan给定n个结点的图,每个点有一个权值a[i],开始时图上没有边,如果与点i相邻的点(包括点i)的权值的和记为Sum_i.给定一个常数c,如果Sum_i+Sum_j>=ijc,则可以在i和j上......
  • 代码随想训练营第三十五天打卡(Python)| 860.柠檬水找零、406.根据身高重建队列、452. 用
    860.柠檬水找零classSolution:deflemonadeChange(self,bills:List[int])->bool:five,ten,twenty=0,0,0forbillinbills:ifbill==5:five+=1elifbill==10:iffive......
  • (链表)04-合并两个排序的链表
    /*publicclassListNode{intval;ListNodenext=null;ListNode(intval){this.val=val;}}*/publicclassSolution{publicListNodeMerge(ListNodelist1,ListNodelist2){//添加头节点ListNoderoot=ne......