检查链表是否存在循环

henangzt 2004-10-10 03:40:49
兄弟碰到一个难题,不知如何解决,特来向各位大虾请教:
有一未知长度的单向链表,现在需要用c编程检验该链表是否存在循环(一个结点的next指针指向它前面的某个结点)。要求:时间复杂度为O(n),空间复杂度为O(1),不能改变链表中结点的结构。
谢谢各位了。
...全文
118 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
henangzt 2004-10-10
  • 打赏
  • 举报
回复
谢谢了!
kobefly 2004-10-10
  • 打赏
  • 举报
回复
c专家编程上有
这里也曾经讨论过
还加精得
可以搜一下
很激烈得讨论哦
oo 2004-10-10
  • 打赏
  • 举报
回复
老问题了。
用两个指针,一个(p1)步长为1,一个(p2)步长为2,
从header开始,如果p2指向NULL,则无环,
如果p1追上了p2则有环。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧