链表 是否带环,环的长度以及入口点
来源:互联网 发布:sdn会取代那些传统网络 编辑:程序博客网 时间:2024/06/05 15:05
//求环的入口点ListNode* MeetNode(ListNode* pHead){if (pHead == NULL || pHead->_next == NULL){return NULL;}ListNode* fast = pHead;ListNode* slow = pHead;while (fast->_next->_next != NULL){fast = fast->_next->_next;slow = slow->_next;if (fast == slow) //相遇时,即有环{break;}}if (fast->_next->_next == NULL){return NULL;}slow = pHead;while (fast != slow){fast = fast->_next;slow = slow->_next;}return slow;}//判断链表是否带环bool IsCircle(ListNode* pHead){if (pHead == NULL || pHead->_next == NULL){return false;}//快慢指针法定义一个快指针 一个慢指针,快指针每次走两步,慢 指针每次走一步,如相遇 则必定 带环ListNode* fast = pHead;ListNode* slow = pHead;while (fast->_next->_next != NULL){fast = fast->_next->_next;slow = slow->_next;if (fast == slow)break;}if (fast->_next->_next == NULL)return false;elsereturn true;}//求环的长度size_t GetCircleLen(ListNode* pHead){ListNode* slow = MeetNode(pHead); //MeetNode函数中已经判断各种退出的情况,所以在此不再做判断size_t count = 1;ListNode* p = slow->_next;while (p != slow){p = p->_next;++count;}return count;}
阅读全文
0 0
- 链表 是否带环,环的长度以及入口点
- 链表--判断链表是否带环?若带环求环的长度?若带环求环的入口点?
- 求单链表是否带环,环的长度,环入口点
- 判断单链表是否带环,若带环,求环的长度,求环的入口点
- 判断单链表是否带环? 若带环, 求环的长度? 求环的入口点?
- 判断单链表是否带环? 若带环, 求环的长度? 求环的入口点?
- 判断链表是否带环?若带环求环的长度?求环的入口点?
- 判断单链表是否带环?若带环,求环的长度?求环的入口点?
- 判断单链表是否带环?若带环,求环的长度?求环的入口点?
- 判断单链表是否带环?若带环,求环的长度,求环的入口点
- 判断链表是否带环?若带环求环的长度?若带环求环的入口点?
- -判断链表是否带环?若带环求环的长度?若带环求环的入口点
- 剑指offer--判断链表是否带环?若带环求环的长度?若带环求环的入口点?
- 判断链表是否带环?若带环求环的长度?若带环求环的入口点?
- 判断链表是否带环?若带环求环的长度?若带环求环的入口点?
- 判断链表是否带环?若带环求环的长度?若带环求环的入口点?
- 判断链表是否带环,若带环求环的长度,若带环求环的入口点
- 判断链表是否带环?若带环求环的长度?若带环求环的入口点?
- C陷阱与缺陷第二章 语法“陷阱”
- 小白求助ssm框架问题
- Linux基金会执行总监:中国将成开源社区领导者
- python使用assert断言
- vs2013配置opencv3.0.0
- 链表 是否带环,环的长度以及入口点
- 清除重复的点Point
- JVM性能调优
- Deep Learning(深度学习)学习笔记整理系列之(三)
- 小白带你学安卓——Activity的启动模式
- PM 前进之路——Axure入门学习
- UVA1572Self-Assembly
- 轨迹球鼠标升级!
- js如何查找上级作用域