当前位置: 首页 > article >正文

算法-环形链表(141)

这道题其实是一个非常经典的快慢指针的问题 ,也成为Floyd的乌龟和兔子算法。

设置两个指针,一个快指针,一个满指针,都从头节点开始遍历,如果链表中存在环,那么快指针最终会在环内某个节点相遇,如果不存在环,那么快指针会先到达链表的末尾(即null) 

下面是java代码:

class ListNode {
    int val;
    ListNode next;
    ListNode(int x){
        val=x;
    }
}
public class LinkList{
    public boolean hasCycle(ListNode head){
        if(head==null||head.next==null){
            return false;
        }
        ListNode slow=head;
        ListNode fast=head.next;
        while (slow!=fast){
            if(fast==null||fast.next==null){
                return  false;
            }
            slow=slow.next;
            fast=fast.next.next;
        }
        return true;
    }
}


http://www.kler.cn/news/315405.html

相关文章:

  • 【Elasticsearch】-图片向量化存储
  • ffplay ubuntu24出现:Could not initialize SDL - dsp: No such audio device
  • Redis存储原理
  • ElementUI 用span-method实现循环el-table组件的合并行功能
  • Spring Boot文件上传/下载问题
  • 计算机网络(运输层)
  • Selenium:开源自动化测试框架的Java实战解析
  • SpringCloud Feign 以及 一个标准的微服务的制作
  • linux驱动开发-ioctl
  • 中国电子学会202406青少年软件编程(Python)等级考试试卷(四级)真题
  • 智能家政保洁|基于java和vue的智能家政保洁预约系统(源码+数据库+文档)
  • 【已解决】Linux ubuntu 20.04 docker 不需要sudo权限
  • openssl 生成多域名 多IP 的数字证书
  • 活动系统开发之采用设计模式与非设计模式的区别-后台功能总结
  • pytorch 算子调用kernel示例(MINIST)
  • 传输层 IV(TCP协议——流量控制、拥塞控制)【★★★★】
  • Day23笔记-Day21和Day22作业讲解单例类
  • 网课视频怎么录制?零基础屏幕录制方法分享
  • 基于PHP的新闻管理系统
  • JetsonNano、Ubuntu开机自启动脚本编写(一遍过)
  • ELFK日志分析平台,架构和通信
  • 10.解析解方法推导线性回归——不容小觑的线性回归算法
  • Oracle ADG主备停机小版本升级
  • (七)使用SoapUI工具调用WebAPI
  • 学习Java(一)类和对象
  • weblogic CVE-2018-2894 靶场攻略
  • 基于YOLOv5的教室人数检测统计系统
  • 浅谈Linux中文件与目录的ACL
  • MAC 禁用 DS_Store 文件
  • tomcat,el表达式执行带参数命令,字符串数组,String[],el表达式注入