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

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

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

Follow up:

Can you solve it without using extra space?

 

这道题很简单也很经典感觉。一开始用hashset做的,但这样就用了extra space了。后来发现可以用双指针。

hashset

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

双指针

public class Solution {    public boolean hasCycle(ListNode head) {        if (head == null) {            return false;        }        ListNode fast = head;        ListNode slow = head;        while (fast.next != null) {            fast = fast.next.next;            slow = slow.next;            if (fast == slow) {                return true;            }            if (fast == null) {                break;            }        }        return false;    }}

双指针是公认的解法,这次都忘记了,下次要记住。。。

转载于:https://www.cnblogs.com/aprilyang/p/6305823.html

你可能感兴趣的文章
学习HTML第二天 学习格式标记和文本标记
查看>>
Linux常用命令
查看>>
第二周的学习
查看>>
趣谈Hbase架构
查看>>
Python_Tips
查看>>
个性化你的博客园【持续更新中!!!】
查看>>
【转】一例胜千言详谈sqlserver数据库锁
查看>>
100亿小数据实时计算平台(大数据系列目录)
查看>>
数据结构 二叉树
查看>>
JavaMe开发,模拟器打开一片空白~
查看>>
My second day of OpenCV
查看>>
用户在电商网站中购买成功了,那么它在微服务中经历了什么(转)
查看>>
arts-week2
查看>>
java笔试之自守数
查看>>
getElementsByName
查看>>
IIS 6.0上部署.NET 4.0网站
查看>>
切图基本知识
查看>>
Web--TypeConverter
查看>>
frameset 的用法 Java Web
查看>>
开发者们看过来,这场长沙的开发者技术大会正在为你而来~
查看>>