crack the code interview 2.5

原创 2013年12月04日 21:11:31

Given a circular linked list, implement an algorithm which returns node at the begin-
ning of the loop.
DEFINITION
Circular linked list: A (corrupt) linked list in which a node’s next pointer points to an
earlier node, so as to make a loop in the linked list.
EXAMPLE
Input: A -> B -> C -> D -> E -> C [the same C as earlier]
Output: C

So, we now know the following:

1. Head is k nodes from LoopStart (by definition).

2. MeetingPoint for n1 and n2 is k nodes from LoopStart (as shown above).

struct LinkNode
{
    LinkNode * next;
    int value;
}

LinkNode * findLoop(LinkNode * head)
{
    if (head == NULL)
        return NULL;
    
    LinkNode * slow = head->next;
    if (slow == NULL)
        return NULL;
    LinkNode * fast = head->next->next;
    while (fast != slow)
    {
        fast = fast->next;
        if (fast == NULL)
            return NULL;
        fast = fast->next;
        slow = slow->next;
    }
    LinkNode * start = head;
    while (start != slow)
    {
        start = start->next;
        slow = slow->next;
    }
    return fast;
}


相关文章推荐

Crack the code interview_Q1.1

题目 实现一个算法来判断一个字符串中的字符是否唯一(即没有重复).不能使用额外的数据结构。 (即只使用基本的数据结构) 解决: 首先,我们先简单化问题,假设字符集是ASCII码,由于ASCII码仅...
  • xmj1989
  • xmj1989
  • 2013年09月21日 18:41
  • 404

crack coding interview

  • 2014年06月11日 08:35
  • 3.61MB
  • 下载

每天坚持Crack Code(Day 4)

今天头脑涨涨的,所以看书都不想从头往后看,索性挑了一章看~ 首先是了解一下概念问题: C++ vs Java 1.Java runs in a virtual machine. 在虚拟机中运行 ...
  • Lj_Tao
  • Lj_Tao
  • 2013年09月22日 23:04
  • 550

Crack the coding interview (fourth edition)

  • 2013年10月26日 03:16
  • 1.49MB
  • 下载

每天坚持Crack Code(Day 1)

打好基本功: Data Structures Algorithms Concepts Linked Lists  Breadth First Search Bit Manipulation...
  • Lj_Tao
  • Lj_Tao
  • 2013年09月17日 15:28
  • 600

interview-code test

  • 2017年08月07日 15:20
  • 49KB
  • 下载

code interview material

  • 2013年02月07日 05:06
  • 240KB
  • 下载

Cracking the Code Interview Chapter Three-- TaylorZhangYuxin's Solusion

This article is my own thinking and analysis when reading the cracking the code interview 6th editio...

Cracking the code interview

  • 2013年09月25日 08:04
  • 2.05MB
  • 下载

cracking the code interview

  • 2014年12月28日 12:09
  • 1.48MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:crack the code interview 2.5
举报原因:
原因补充:

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