判断单链表是否有环、找出两个单链表的交点
来源:互联网 发布:java notempty 编辑:程序博客网 时间:2024/04/30 10:25
主要思路:用两个指针,步长分别为1和2,遍历,相遇时即表示有环。
bool hasCircle(Node* head, Node* &encounter){ Node *fast = head, *low = head; while(fast && fast->next) { fast = fast->next->next; low = low->next; if(fast == low) { encounter = fast; return true; } } // fast == NULL || fast->next == NULL encounter = NULL; return false;}
找到环点
Node* findEntry(Node* head, Node* encounter){ Node *p1 = head, *p2 = encounter; while(p1 != p2) { p1 = p1->next; p2 = p2->next; } return p1;}
找到交点的思路是把其中链表一个链表首尾相连,如果有环,则回到第一个问题。
0 0
- 判断单链表是否有环、找出两个单链表的交点
- 判断单链表是否有环,如果有找出环的入口位置=>求两个相交链表的交点
- 如何判断两个单链表是否有交点?
- 判断两个单链表是否有交点
- 判断链表是否有交点若有找出交点
- 求两个单链表交点and判断链表是否有环
- 如何判断两个单向链表是否有相交,并找出交点
- 判断两个单向链表是否有相交,并找出交点。
- 如何判断两个单向链表是否有相交,并找出交点
- 如何判断两个单向链表是否有相交,并找出交点 (转)
- 如何判断两个单向链表是否有相交,并找出交点
- 如何判断两个单向链表是否有相交,并找出交点
- 判断两个链表是否有交点
- 判断两个链表是否相交并找出交点
- 判断两个链表是否相交并找出交点
- 判断两个链表是否相交并找出交点
- 判断两个链表是否相交并找出交点
- 判断两个链表是否相交并找出交点
- OperaMasks使用Tomcat做为服务器注意事项
- cocos2d-x-3.2 安装创建工程
- poj 2723 Get Luffy Out 2-SAT
- 第三方程序调用django的models
- Wireshark抓包工具常用抓包规则
- 判断单链表是否有环、找出两个单链表的交点
- C语言函数参数中的表达式顺序问题
- ubuntu 安装ibus输入法
- Silverlight 中 WebClient 通过Uri 上传和下载
- 大话设计模式学习总结
- Java的结构之美【1】——构造对象
- 书单
- Struts2输入校验
- 网盘秒传利用文件md5码