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;
}


经典算法题目:Cracking the coding interview 问题与解答

Cracking the coding interview--问题与解答 March 14, 2013 作者:Hawstein 出处:http://hawstein.com/posts/ctci-...
  • wangbaochu
  • wangbaochu
  • 2016年10月31日 00:39
  • 1541

cracking the coding interview 中文版 (程序员面试金典)

 转自:CTCI面试系列——谷歌面试官经典作品 | 快课网 谷歌面试官经典作品(CTCI)目录 1.1 判断一个字符串中的字符是否唯一 1.2 字符串翻转 1.3 去除字符串中重复字符 ...
  • hnuzengchao
  • hnuzengchao
  • 2014年10月19日 11:32
  • 23569

cracking the coding interview 中文版 (程序员面试金典)

转自:CTCI面试系列——谷歌面试官经典作品 | 快课网 谷歌面试官经典作品(CTCI)目录 1.1 判断一个字符串中的字符是否唯一 1.2 字符串翻转 1.3 去除字符串中重复字符 1.8 利用已知...
  • a327369238
  • a327369238
  • 2016年10月09日 20:16
  • 879

Crack Me逆向练习

Crack Me 一份关于逆向学习的实习报告,主要是关于《逆向工程核心原理》第六章第一节中的abexcm1-voiees.exex程序逆向练习。修改后缀为.exe,双击运行如下图: ...
  • coleflowers
  • coleflowers
  • 2015年11月24日 22:34
  • 1442

每天坚持Crack Code(Day 1)

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

think in java interview-高级开发人员面试宝典(二)

从现在开始,以样题的方式一一例出各种面试题以及点评,考虑到我在前文中说的,对于一些大型的外资型公司,你将会面临全程英语面试,因此我在文章中也会出现许多全英语样题。这些题目来自于各个真实的公司,公司名我...
  • lifetragedy
  • lifetragedy
  • 2013年08月05日 00:43
  • 39563

think in java interview-高级开发人员面试宝典(一)

无论你是在职,非在职,高级工程师,工程师,架构师,如果你正在面试阶段,请看完此文,相信这篇文章对你的职业生涯和阶值观会发生重大的改变。如果你是一名PM或者是管理者正在物色合适的开发人选,那么我相信这篇...
  • lifetragedy
  • lifetragedy
  • 2013年08月04日 22:44
  • 26199

每天坚持Crack Code(Day 4)

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

[转发]在eclipse中新建Dynamic web project时选择2.5和3.0的区别

1、Dynamic web project时选择2.5和3.0是指servlet的版本,是2.5的还是3.0的     servlet3.0以后支持异步   2、dynamic we...
  • marsercn
  • marsercn
  • 2017年05月30日 13:26
  • 1037

关于模拟盘子的堆栈实现(Crack the interview 例题)之暑假学习记录

这两天,可能运动量过大,每天很是昏昏沉沉。今天写一个例题程序,自以为很容易就搞定,没想到墨墨迹迹搞了一个多小时。可见精神状态也很重要,但同时也发现了一些自己关于java的问题。这篇文章只为记录今天垃圾...
  • usc_su
  • usc_su
  • 2013年07月14日 08:25
  • 1075
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:crack the code interview 2.5
举报原因:
原因补充:

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