给出一个链表,先判断链表是否带环,如果带环,求出环的入口。
判断是否带环:用快慢指针。快指针每走两步,慢指针走一步,如果两者在某个点处相
遇,则链表带环。
下边给出函数的实现代码:
typedef struct LinkNode
{
DataType data;
struct LinkNode *next;
}LinkNode,*pLinkNode;
typedef struct Li...
分类:
其他好文 时间:
2016-06-24 15:02:35
阅读次数:
134
题目:如何得到链表环的入口结点
方案:分两步走:
第一步:先要找到链表中的环,得到环的结点的个数。可以设置两个指针一个走的比较快,一个比较慢,那么如果链表中存在一个环,那么这两个指针一定会陷入这个环中,快的指针一定会遇到慢的指针,所以很快就能遇到。因为前面有详细讲过,这里不再多介绍。
第二步:得到环的个数以后,我们照样可以设置两个指针。第一个指针先前进N(N为环中结点的个数)步,然后和第二个...
分类:
其他好文 时间:
2016-06-21 07:12:55
阅读次数:
151
1、判断有环 一个链表如果没有环,那么一直next,最终会得到null。若有环则一定不会为null。通过这个思想,可以把每次遍历的链表元素保存到一个list中,每次判断是否包含在这个链表中或者是否为空。这无疑是一个可行的办法,但是需要消耗的控件会变大。还有一个经典的办法解决这个问题,那就是快慢指针。 ...
分类:
其他好文 时间:
2016-06-16 13:20:06
阅读次数:
217
题目描述
一个链表中包含环,请找出该链表的环的入口结点。
思路分析:
第一步,找环中相汇点。分别用p1,p2指向链表头部,p1每次走一步,p2每次走二步,直到p1==p2找到在环中的相汇点。
第二步,找环的入口。接上步,当p1==p2时,p2所经过节点数为2x,p1所经过节点数为x,设环中有n个节点,p2比p1多走一圈有2x=n+x; n=x;可以看出p1实际走了一个环的步数,再让p2...
分类:
其他好文 时间:
2016-06-11 12:02:07
阅读次数:
122
【题目】一个链表中包含环,请找出该链表的环的入口结点。 【思路】方法一:使用双指针 ...
分类:
其他好文 时间:
2016-06-07 14:53:36
阅读次数:
281
来自http://blog.csdn.net/wuzhekai1985/article/details/6725263 问题1,如何判断链表中是否存在环?即上图中从E到R组成的环? 设slow/fast两个指针,同时从链表起点开始,其中快指针fast每次移动长度为2,slow每次移动一个。如果无环, ...
分类:
其他好文 时间:
2016-06-01 21:14:29
阅读次数:
154
链表中环的入口结点 * 题目描述:一个链表中包含环,请找出该链表的环的入口结点。 解题思路一: *第一步,找环中相汇点。分别用p1,p2指向链表头部,p1每次走一步,p2每次走二步,直到p1==p2找到在环中的相汇点。 第二步,找环的入口。接上步,当p1==p2时,p2所经过节点数为2x,p1所经过 ...
分类:
其他好文 时间:
2016-05-29 19:41:52
阅读次数:
351
1、链表中是否有环 如果链表中存在环的话,则遍历链表时无法通过观察指针是否为null来判断链表是否结束。 判断链表中是否存在环,需要引入快慢指针(slow 和 fast),slow每次走一步,fast每次走两步, 如果slow和fast会相遇,则说明链表中存在环,否则不存在。 2、链表中环的入口结点 ...
分类:
其他好文 时间:
2016-05-27 16:33:02
阅读次数:
147
#pragmaonce
#include<iostream>
usingnamespacestd;
template<classT>
structLinkNode
{
T_data;
LinkNode*_next;
LinkNode(constT&x)
:_data(x)
,_next(NULL)
{}
};
template<classT>
classListNode
{
//为了安全性
private:
ListNode(const..
分类:
其他好文 时间:
2016-04-25 01:11:21
阅读次数:
213
具体分析可见http://blog.csdn.net/libin1105/article/details/48267113 需要指出的是,上述博客中2*(a+b)=a+b+c+b应该改为2*(a+b)=a+b+(c+b)*n,其中n为自然数。 然后得到关系式a=(b+c)*n-b 由此可见两个指针会 ...
分类:
其他好文 时间:
2016-03-28 16:58:21
阅读次数:
272