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

LeetCode -- Linked List cycle

本题描述:


Given a linked list, determine if it has a cycle in it.


Follow up:
Can you solve it without using extra space?


检测链表中是否有环。


思路:
经典算法,使用快慢指针,快的一次走两步,慢的一次走一步,如果有环它们一定会相遇。


实现代码:




/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     public int val;
 *     public ListNode next;
 *     public ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution {
    
    public bool HasCycle(ListNode head) {
        if(head == null){
    		return false;
    	}
    	
    	var p = head;
    	var q = head;


    	while(p != null && q != null && q.next != null){
    		var t = q;
    		p = p.next;
    		q = q.next.next;
    		if(ReferenceEquals(p,q)){
    			return true;
    		}
    	}
    	return false;
    }
}


相关文章:

  • 根据textbox中的值,改变dropdownlist的选项
  • LeetCode -- Basic Calculator II
  • 完整SQL分页存储过程(支持多表联接)
  • LeetCode -- Bitwise AND of Numbers Range
  • C 符号列表
  • LeetCode -- Linked List Cycle II
  • LeetCode -- LRU Cache
  • [Web 开发] 定制IE下载对话框的按钮(打开/保存)
  • LeetCode -- Min Stack
  • SQL2005CLR函数扩展-繁简转换
  • LeetCode -- Minimum Size Subarray Sum
  • LeetCode -- Number of 1 Bits
  • 对象属性拷贝(全匹配拷贝)
  • LeetCode -- Reorder List
  • 最近
  • [数据结构]链表的实现在PHP中
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • create-react-app做的留言板
  • Flannel解读
  • Go 语言编译器的 //go: 详解
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • JavaScript设计模式系列一:工厂模式
  • JS变量作用域
  • js继承的实现方法
  • LeetCode18.四数之和 JavaScript
  • win10下安装mysql5.7
  • 番外篇1:在Windows环境下安装JDK
  • 关于 Cirru Editor 存储格式
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 使用权重正则化较少模型过拟合
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 小试R空间处理新库sf
  • 用quicker-worker.js轻松跑一个大数据遍历
  • C# - 为值类型重定义相等性
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #Spring-boot高级
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #考研#计算机文化知识1(局域网及网络互联)
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (转)负载均衡,回话保持,cookie
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .net web项目 调用webService
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)