博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode——Linked List Cycle
阅读量:6230 次
发布时间:2019-06-21

本文共 877 字,大约阅读时间需要 2 分钟。

Description:

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

Follow up:

Can you solve it without using extra space?

在不借助辅助空间的情况下判断一个链表是否存在回路。

可以用两个指针,一个从头节点开始,一个从头节点的next节点开始,node1一次走一步,node2一次走两步,这样一来如果链表存在回路的话,这两个节点就会相遇。否则则不存在回路。

/** * Definition for singly-linked list. * class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { *         val = x; *         next = null; *     } * } */public class Solution {    public boolean hasCycle(ListNode head) {                if(head == null) {            return false;        }                ListNode node1 = head, node2 = head.next;                while(node1 != null && node2 != null && node2.next != null) {            if(node1 == node2) {                return true;            }            node1 = node1.next;            node2 = node2.next.next;        }                return false;            }}

 

转载地址:http://lstna.baihongyu.com/

你可能感兴趣的文章
业内人士详述SIEM建设的演进过程
查看>>
数据中心的重要服务器如何保护?
查看>>
Linux 用户的 3 个命令行小技巧
查看>>
yii上传图片、yii上传文件、yii控件activeFileField使用
查看>>
8)基础网络编程和内容回顾
查看>>
Promise 入门(推荐)
查看>>
java jdbc使用配置文件连接数据库
查看>>
ASP.NET MVC中三方登录: 微软、谷歌、Office365
查看>>
迭代器模式
查看>>
Liferay 启动过程分析7-初始化布局模板
查看>>
java格式化json字符串输入到文本中
查看>>
redis主从集群搭建及容灾部署(哨兵sentinel)
查看>>
apollo生产环境配置-实践笔记(附搭建框架图)
查看>>
正则去掉首尾空格以及首尾的
查看>>
CVPR
查看>>
python+selenium自动化测试(四)
查看>>
06Action中的Struts广告
查看>>
BashShell脚本的输入
查看>>
Docker镜像加速器
查看>>
我理解的Java并发基础(一):一些基本概念
查看>>