判断单向链表中有没有形成环,如果形成环,请找出环的入口处,即P点

本文阅读 1 分钟
首页 PHP笔记 正文
  1. /*
  2. *单链表的结点类
  3. */
  4. class LNode{
  5. //为了简化访问单链表,结点中的数据项的访问权限都设为public
  6. public int data;
  7. public LNode next;
  8. }
  9. class LinkListUtli {
  10. //当单链表中没有环时返回null,有环时返回环的入口结点
  11. public static LNode searchEntranceNode(LNode L)
  12. {
  13. LNode slow=L;//p表示从头结点开始每次往后走一步的指针
  14. LNode fast=L;//q表示从头结点开始每次往后走两步的指针
  15. while(fast !=null && fast.next !=null)
  16. {
  17. if(slow==fast) break;//p与q相等,单链表有环
  18. slow=slow.next;
  19. fast=fast.next.next;
  20. }
  21. if(fast==null || fast.next==null) return null;
  22. // 重新遍历,寻找环的入口点
  23. slow=L;
  24. while(slow!=fast)
  25. {
  26. slow=slow.next;
  27. fast=fast.next;
  28. }
  29. return slow;
  30. }
  31. }
解压密码: detechn或detechn.com

免责声明

本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。

本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

TXTkiller 文本、小说分割利器
« 上一篇 04-15
php函数,获取一篇文章内容中的全部图片,并下载
下一篇 » 04-17

发表评论