博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
链表判断是否有环与判断环入口
阅读量:6471 次
发布时间:2019-06-23

本文共 1014 字,大约阅读时间需要 3 分钟。

hot3.png

Detect cycle in a linked list.
 A singly-linked data structure is a data structure made up of nodes where each node has a pointer to the next node (or a pointer to null). Suppose that you have a pointer to the first node of a singly-linked list data structure:
  • Determine whether a singly-linked data structure contains a cycle. You may use only two pointers into the list (and no other variables). The running time of your algorithm should be linear in the number of nodes in the data structure.
  • If a singly-linked data structure contains a cycle, determine the first node that participates in the cycle. you may use only a constant number of pointers into the list (and no other variables). The running time of your algorithm should be linear in the number of nodes in the data structure.

You may not modify the structure of the linked list.

1)判断有没有环用在链表头同时放一个“慢”指针(一次走一步),一个“快”指针(一次走两步),然后判断能否相遇。

2)相遇位置时,“快”指针比“慢”指针多走了一个环的位置。

    在相遇位置和链表头同时放置两个“慢”指针,两个“慢”指针相遇位置就是环入口。

转载于:https://my.oschina.net/u/566401/blog/112753

你可能感兴趣的文章
网络服务搭建、配置与管理大全(Linux版)
查看>>
Silverlight 5 Beta新特性[4]文本缩进控制
查看>>
springMVC多数据源使用 跨库跨连接
查看>>
简单java在线测评程序
查看>>
录音和朗诵的实现
查看>>
Git服务端和客户端安装笔记
查看>>
Spring Security(14)——权限鉴定基础
查看>>
IntelliJ IDEA快捷键
查看>>
【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(下)
查看>>
MongoDB的基础使用
查看>>
进程间通信——命名管道
查看>>
LINUX 重定向的知识
查看>>
ssh登陆不需要密码
查看>>
ARP
查看>>
java mkdir()和mkdirs()区别
查看>>
桌面支持--excel自动换行
查看>>
虚拟化--003 vcac licence -成功案例
查看>>
windows server 2003各版本及2008各版本的最大识别内存大小
查看>>
OSChina 周六乱弹 ——揭秘后羿怎么死的
查看>>
centos查找未挂载磁盘格式化并挂载
查看>>