Given a linked list, determine if it has a cycle in it.
Follow up:
Can you solve it without using extra space?
这个题目用快慢指针来做,重点在于代码怎么实现的简洁方便理解。
这里用快指针来判断链表是不是有NULL,没有NULL那再继续走,看是否能与慢指针遇上...
分类:
其他好文 时间:
2014-10-01 10:16:10
阅读次数:
309
插入排序,归并排序,快排,冒泡,选择排序算法源码;折半搜索;判断链表是否有环;BST树的数量,二叉树的前中后续遍历;数字反转;判断相同树;排列、组合等源码;
分类:
其他好文 时间:
2014-09-04 16:48:39
阅读次数:
269
菜鸟系列之C/C++经典试题(七)
找含单链表的环入口点...
分类:
编程语言 时间:
2014-09-03 21:20:37
阅读次数:
292
以下都是单链表的基本操作,我都写了一遍,链表时间长不写一定会陌生,留给自己以后忘了看一眼,顺便给想学习链表的同学一点提示吧
首先先写头文件head.h,这里都是我定义好的函数分别有
这里的所有例子都是有头结点的链表,都是单链表操作
1)头插发建表 2)尾插法建表 3)打印链表 4)对链表赋值的时候进行插入排序 5)将链表翻转 6)找到链表倒数第n个元素 7)将两个链表连在一起 8)使单链表变成环链表
9)判断链表是否有环 10)将现有的链表排序进行插入排序(与4)不同,4)是在建立链表的时候进行排序...
分类:
其他好文 时间:
2014-08-09 11:40:27
阅读次数:
399
分为两步
第一步 还是利用快慢指针,如果有环的话在利用快慢指针终会相会于一个节点。
第二步。然后从这节点出发每次出发走一步,同时从根节点出发每次出发也走一步则他们两个指针相遇的地方就是环的入口。
第一步好解释那么第二步是为什么呢?
网上有很多解法大都是从数学的角度来分析,有公式也有推算很不直观,我从图形的角度来看的话就相对理解起来简单很多。
将图摊开成一条线,假设我们有环而且...
分类:
其他好文 时间:
2014-08-09 02:40:07
阅读次数:
309
问题:判断链表是否有环。分析:利用快慢指针slow,fast slow指针每次走一步,fast指针每次走两步,倘若存在环,则slow和fast必定在某一时刻相遇。 由于fast指针走的比slow快所以循环的时候只需要判断fast和fast->next不为空,判断fast->next是因为...
分类:
其他好文 时间:
2014-07-31 12:25:26
阅读次数:
236