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

leetcode:141. 环形链表

一、题目

函数原型:

bool hasCycle(struct ListNode *head)

二、算法

判断不是环形链表,只需遍历链表找到空结点即可。

判断是环形链表,由于链表是环形的,遍历不会永远不会结束。所以要设置快慢指针,慢指针一次走一步,快指针一次走两步。当两个指针都进入环时,快指针走地比慢指针快,因此快指针总会遇到慢指针。因此,判断是环形链表的条件是慢指针等于快指针。

三、代码

bool hasCycle(struct ListNode *head) {struct ListNode *fast=head;struct ListNode *slow=head;while(fast&&fast->next){fast=fast->next->next;slow=slow->next;if(fast==slow)return true;}return false;
}

相关文章:

  • 【大数据Hive】hive select 语法使用详解
  • MySQL中的刷脏机制详解
  • Java 并发编程面试题——Condition 接口
  • 吴恩达《机器学习》7-1->7-4:过拟合问题、代价函数、线性回归的正则化、正则化的逻辑回归模型
  • 书写Prompt的经验总结
  • Python 中使用 Selenium 隐式等待
  • Apache Airflow (四) :Airflow 调度shell命令
  • 手写链表C++
  • Hadoop学习总结(使用Java API操作HDFS)
  • [工业自动化-10]:西门子S7-15xxx编程 - PLC主站 - 信号量:数字量
  • C语言如何执行HTTP GET请求
  • linux espeak语音tts;pyttsx3 ubuntu使用
  • Linux系统编程——文件的光标移动
  • 前端设计模式之【访问者模式】
  • 计算机视觉与深度学习 | 改进的SIFT立体匹配算法
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • github从入门到放弃(1)
  • JavaScript类型识别
  • java多线程
  • Python中eval与exec的使用及区别
  • quasar-framework cnodejs社区
  • react 代码优化(一) ——事件处理
  • SpriteKit 技巧之添加背景图片
  • TypeScript实现数据结构(一)栈,队列,链表
  • 好的网址,关于.net 4.0 ,vs 2010
  • 经典排序算法及其 Java 实现
  • 看域名解析域名安全对SEO的影响
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 前端之Sass/Scss实战笔记
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 优化 Vue 项目编译文件大小
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • #NOIP 2014# day.2 T2 寻找道路
  • #pragam once 和 #ifndef 预编译头
  • #数学建模# 线性规划问题的Matlab求解
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (3)选择元素——(17)练习(Exercises)
  • (SpringBoot)第七章:SpringBoot日志文件
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (转载)Linux 多线程条件变量同步
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • ******之网络***——物理***
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • @Transaction注解失效的几种场景(附有示例代码)
  • [ 数据结构 - C++] AVL树原理及实现
  • [20190401]关于semtimedop函数调用.txt
  • [AAuto]给百宝箱增加娱乐功能
  • [ACTF2020 新生赛]Upload 1
  • [Android] 修改设备访问权限
  • [C#基础知识]专题十三:全面解析对象集合初始化器、匿名类型和隐式类型
  • [C/C++随笔] char与unsigned char区别
  • [CF543A]/[CF544C]Writing Code
  • [delphi]保证程序只运行一个实例