关闭

链表中环的问题

标签: java
263人阅读 评论(0) 收藏 举报
分类:

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.
 * class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution {
       public boolean hasCycle(ListNode head){
       if(head == null || head.next == null) return false;
       if(head.next == head) return true;
       ListNode nextNode = head.next; 
       head.next = head;
       boolean isCycle = hasCycle(nextNode);
       return isCycle;
   }
    // public boolean hasCycle(ListNode head) {
   
    //  if(head==null||head.next==null){
    //      return false;
    //  }
    //  ListNode first=head;
    //  ListNode last=head.next;
    //  while(last!=null){
    //      first=first.next;
    //      last=last.next;
     
    //      if(first==last){
    //          return true;
    //      }
         
    //  }
    //  return false;
     
    // }
}


0
0
查看评论

剑指offer--链表中环的入口结点

题目描述 一个链表中包含环,请找出该链表的环的入口结点。 分析: 如果存在环,找到环的起始结点 当fast指针等于slow指针时,slow指针肯定还没有遍历完整个链表,而此时fast指针已经在环内循环了n圈(n>=1),假定从链表头指针开始slow走了s步,则fast走了2s步,f...
  • kangaroo835127729
  • kangaroo835127729
  • 2015-04-17 17:48
  • 1763

剑指Offer--056-链表中环的入口结点

链接 牛客OJ:链表中环的入口结点 九度OJ:未收录 GitHub代码: 056-链表中环的入口结点 CSDN题解:剑指Offer–056-链表中环的入口结点 牛客OJ 九度OJ CSDN题解 GitHub代码 056-链表中环的入口结点 未收录...
  • gatieme
  • gatieme
  • 2016-06-07 13:25
  • 1595

剑指offer----链表中环的入口节点----java实现

一个链表中包含环,请找出该链表的环的入口结点。 此问题包含两个步骤: (1)判断链表中是否有环 (2)找出环 一、 1)选择快慢指针,让快指针每次走两步,慢指针每次走一步,若是单链表中有环的话,那么两个指针会相遇,即指向的相同的节点的值相等来判断。 2)当相遇的时候,慢指针在环中走了k步,设环之外的...
  • snow_7
  • snow_7
  • 2016-08-11 11:54
  • 969

《剑指offer》链表中环的入口结点

【 声明:版权所有,转载请标明出处,请勿用于商业用途。  联系信箱:libin493073668@sina.com】 题目链接:http://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4?rp=3...
  • libin1105
  • libin1105
  • 2015-09-13 17:54
  • 918

《剑指offer》——链表中环的入口结点

T: 题目描述 一个链表中包含环,请找出该链表的环的入口结点。 基本做法不考虑其中潜在的规律,就按照一般的方法,创建一个list,把扫描过的节点都存储在list中,知道下一个节点在list中已经存在,那就说明该节点就是入口节点。这种方式下的时间复杂度为O(n2)O(n^2)我的code...
  • shansusu
  • shansusu
  • 2015-12-13 20:02
  • 1096

剑指Offer面试题56:链表中环的入口节点 Java实现

题目:链表中环的入口节点         一个链表中包含环,如何找出环的入口节点?例如,下图中的入口节点是3.              1-&...
  • gg543012991
  • gg543012991
  • 2016-10-13 23:33
  • 316

(2)寻找链表中环的位置

算法(1)中,我们已经知道如何判断一个链表中是否有环了,那么怎么找到环的位置呢? 英文命题: Given a linked list, return the node where the cycle begins. If there is no cycle, return ...
  • xujiali5172923
  • xujiali5172923
  • 2015-09-02 14:40
  • 241

判断单链表中环的长度等问题

给定一个单链表,只给出头指针h: 1、判断是否存在环 选定两个指针p1,p2,初始时p1=p2=h,循环执行以下操作p1=p1+1,p2=p2+2,判断p1==p2,若p1==p2,记交点为p,则存在环,否则不存在。(追赶问题) 2、求取环的长度 从p开始执行以下操作p1=p1+1,p2=p2+2,...
  • cjc211322
  • cjc211322
  • 2014-03-31 21:08
  • 790

找出有环链表中环的起始节点

给定一个有环的链表,写一个算法,找出环的起点。 例如: 输入:A->B->C->D->E->C[与前面的C是同一个节点] 输出:C 判断一个链表是否存在环有一个简单的方法,就是使用一个快指针、和一个慢指针,快指针每次走两步,慢指针每次走一步,则如果有环,...
  • newfelen
  • newfelen
  • 2014-04-17 14:27
  • 1035

找链表中环的入口节点

题目:寻找一个存在环的链表中,环的入口节点。 solution1:第一步,先通过构建快慢指针,判断链表中存在环;第二步,计算环中节点的个数;第三步,找到环的入口节点。 solution2:构建快慢指针,判断存在环,当两个指针相遇时,慢指针的位置不变,构建一个新的指针从头开始走,与慢指针同时向前一次移...
  • CYH_job
  • CYH_job
  • 2017-03-30 17:52
  • 165
    个人资料
    • 访问:103960次
    • 积分:3352
    • 等级:
    • 排名:第11955名
    • 原创:227篇
    • 转载:40篇
    • 译文:2篇
    • 评论:8条
    最新评论