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

Leetcode面试经典150题-141.环形链表

题目比较简单,重点是理解思想

 解法都在代码里,不懂就留言或者私信

/*** Definition for singly-linked list.* class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
public class Solution {/**对于环形链表,也就是说从头遍历走到了重复的节点,当然我们按照最简单的解法,拿一个set记录一下,如果走到重复的就返回true但是这个题目恐怕考察的也不是这个,本题应该考察快慢指针,这里的解法是快指针每次走两步,慢指针每次走一步,如果二者能相遇就是有环,如果快指针走到了null就是无环*/public boolean hasCycle(ListNode head) {if(head == null || head.next == null) {return false;}/**否则定义快慢指针,快慢指针直接指定为各走一步或者两步 */ListNode fast = head.next.next;ListNode slow = head.next;/**退出循环有两种可能性:1.fast和slow相等,这就是有环 2.fast已经是null了(这里要加fast.next!=null是为了避免空指针这个判断也可以写在循环里面),这种无环 */while(fast != null && fast.next != null && fast != slow) {fast = fast.next.next;slow = slow.next;}return fast == slow? true : false;}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 官宣:Zilliz 在亚马逊云科技中国区正式开服!
  • EA橘子平台Origin离线安装包获取
  • 树莓派安装 OpenCV 教程
  • 腾讯云使用
  • 企业采用电子招投标的原因及系统推荐
  • 50ETF期权可以当天买卖吗?
  • 观众登记2025中国(深圳)国际智能手机供应链展览会
  • 解算方案—二连杆与三连杆解算
  • 学习Vue3的第五天
  • 2024年全国大学生软件测试大赛赛项安排(一)
  • Docker快速部署Apache Guacamole
  • 移动订货小程序哪个好 批发订货系统源码哪个好
  • Mac电脑IDEA2024安装后打不开问题解决
  • Ubuntu IDEA 卡死问题如何解决
  • 大数据安全之Kerberos
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 【译】理解JavaScript:new 关键字
  • Angular4 模板式表单用法以及验证
  • Github访问慢解决办法
  • JS基础之数据类型、对象、原型、原型链、继承
  • LeetCode29.两数相除 JavaScript
  • Python学习之路16-使用API
  • quasar-framework cnodejs社区
  • sessionStorage和localStorage
  • vuex 学习笔记 01
  • webgl (原生)基础入门指南【一】
  • 笨办法学C 练习34:动态数组
  • 初探 Vue 生命周期和钩子函数
  • 代理模式
  • 规范化安全开发 KOA 手脚架
  • 诡异!React stopPropagation失灵
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 看域名解析域名安全对SEO的影响
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 面试总结JavaScript篇
  • 前端
  • 前端面试之CSS3新特性
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 正则学习笔记
  • 如何正确理解,内页权重高于首页?
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ‌U盘闪一下就没了?‌如何有效恢复数据
  • #if等命令的学习
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (12)目标检测_SSD基于pytorch搭建代码
  • (2015)JS ES6 必知的十个 特性
  • (C++17) optional的使用
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (笔记)M1使用hombrew安装qemu
  • (待修改)PyG安装步骤
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631