Middle-题目50:142. Linked List Cycle II

原创 2016年05月31日 16:09:59

题目原文:
Given a linked list, return the node where the cycle begins. If there is no cycle, return null.
题目大意:
判断一个单链表有没有环。如果有环,返回环的起点,没有环返回null
题目分析:
还是用HashSet存,第一个重复的节点就是环的起点。
源码:(language:java)

/**
 * Definition for singly-linked list.
 * class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution {
    public ListNode detectCycle(ListNode head) {
        HashSet<ListNode> set = new HashSet<ListNode>();
        for(ListNode node=head;node!=null;node=node.next) {
            if(!set.add(node))
                return node;
        }
        return null;
    }
}

成绩:
12ms,beats 5.82%,众数1ms,81.12%

版权声明:完整版Leetcode题解请出门左转https://github.com/cmershen1/leetcode/tree/master/docs

【LeetCode-面试算法经典-Java实现】【092-Reverse Linked List II(反转单链表II)】

【092-Reverse Linked List II(反转单链表II)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Reverse a linked list fro...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月06日 07:40
  • 1650

linked-list-cycle-ii(有环链表的第一个公共节点)

题目描述: Given a linked list, return the node where the cycle begins. If there is no cycle, returnnul...
  • zh_ang_lei
  • zh_ang_lei
  • 2016年09月25日 23:39
  • 216

链表环查找(Linked List Cycle II)

问题: Given a linked list, return the node where the cycle begins. If there is no cycle, return nu...
  • dsklfjal123
  • dsklfjal123
  • 2014年09月09日 11:52
  • 368

Linked List Cycle II 求单链表环的入口

Linked List Cycle II   Given a linked list, return the node where the cycle begins. If there is n...
  • u012605629
  • u012605629
  • 2015年05月20日 20:54
  • 345

LeetCode Linked List Cycle II 计算带环的链表的起点

图: 设:链表头是X,环的第一个节点是Y,slow和fast第一次的交点是Z。各段的长度分别是a,b,c,如图所示。环的长度是L。slow和fast的速度分别是qs,...
  • andrewDengpf
  • andrewDengpf
  • 2016年12月24日 14:49
  • 281

求单链表环的入口结点 Linked List Cycle II

对于单链表,有的没有环,最后一个结点指向NULL,从头遍历到NULL就结束了。而有的是存在环,那么遍历时会在环内死循环,没有结尾。 本题目源自于leetcode。经典题目。 题目:Given a li...
  • luckyjoy521
  • luckyjoy521
  • 2013年11月22日 21:21
  • 1367

【leetcode】Linked List Cycle II,判断链表是否有环

本题意思是无修改的判断一个链表是否具有环,并且返回环的初始节点,否则返回NULL。 一种方法是对已经访问到的节点设置一些标志,比如将next指针指向某一个特定节点,或者其他方法等。这样的问题是会对链表...
  • zorelemn
  • zorelemn
  • 2015年09月07日 20:27
  • 295

算法题——Linked List Cycle II(C++)链表中的环

找出链表中是否有环,若有,返回环开始的结点。解题思路: 要检测链表是否有环,使用快慢指针,慢指针一次走一个结点,快指针一次走两个结点,若有环,在遍历这个环一次或多次后,两个指针会相遇...
  • ivyusing
  • ivyusing
  • 2017年06月05日 21:58
  • 82

(单链表是否有环相关的题目)LeetCode#141. Linked List Cycle

单链表与环相关的题目
  • u012559634
  • u012559634
  • 2017年06月04日 09:57
  • 316

逆转链表的一部分 Reverse Linked List II

问题:Reverse a linked list from position m to n. Do it in-place and in one-pass. For example: Gi...
  • luckyjoy521
  • luckyjoy521
  • 2014年03月13日 10:22
  • 829
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Middle-题目50:142. Linked List Cycle II
举报原因:
原因补充:

(最多只允许输入30个字)