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

《链表篇》---环形链表

题目传送门 

方法一:哈希表

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

方法二:快慢指针

1.如果没有节点或只有一个节点,返回false。

2.定义一个快指针,一个慢指针。在快指针不等于慢指针的情况下,慢指针走一步,快指针走两步。

3.若快指针走到了最后一个节点,或者最后的空节点。说明没有环,返回false。

4.若有环,则快指针必定会被慢指针追上。因此若相等则返回true。

public class Solution {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.mrgr.cn/news/60362.html

相关文章:

  • 速盾:高防cdn怎么拦截恶意ip?
  • 【golang】 lo.Map使用
  • 力扣382:链表随机结点
  • 登录后端笔记(一):注册、登录(基于MD5加密);登录认证;拦截器
  • 基于Bert+Attention+LSTM智能校园知识图谱问答推荐系统
  • web查询数据库
  • Python 中的 @ 符号是如何工作的!
  • Android 应用申请 Google MBA权限
  • 智诊小助手-AP/Station模式切换
  • 渗透测试的主要目的是什么?渗透测试入门到精通教程,收藏这一篇就够了
  • 大模型 “蓝图” 进阶学习路线:构建大模型岗位就业之路
  • 企业数字化转型:平台与大数据算法的力量
  • 使用EmbeddedBuilder可视化编程找不到GD32H7XX
  • MYSQ-语句操作、查询和多表关系思维导图
  • Nature子刊丨在多孔固体电解质反应器中从(bi)碳酸盐中电化学再生高纯度CO2以实现高效碳捕获
  • ubuntu18.04安装xenomai3.1(百分百成功版)
  • NVR监测软件/设备EasyNVR多个NVR同时管理解决方案
  • 鸿蒙开发与Android开发对比
  • 怎么在抖音视频里标注店铺定位信息?
  • 【深搜算法】(第六篇)
  • 新股友一开始能赚钱,背后有哪些原因?
  • 解决风电运维难困局?8K风机叶片巡检有妙用
  • 什么是服务器?服务器与客户端的关系?本地方访问不了网址与服务器访问不了是什么意思?有何区别
  • 自动化网络部署(paramiko,Netmiko)
  • Linux CentOS7下创建SFTP服务器
  • 牛客周赛65(C++实现)