【每日一题-3】链表带环问题
来源:互联网 发布:php下载系统源码 编辑:程序博客网 时间:2024/05/10 03:00
判断链表是否带环?如果带环,环的长度是多少?环的入口节点是什么?
struct ListNode {int val;struct ListNode *next;ListNode(int x) :val(x), next(NULL) {}};//判断链表是否带环?ListNode* IsLoop(ListNode* pHead){if (NULL == pHead){return NULL;}ListNode* pfast = pHead;ListNode* pslow = pHead;while (pHead->next != NULL && pHead->next->next != NULL){pfast = pfast->next->next;pslow = pslow->next;if (pfast == pslow){return pslow;}}return NULL;}//若带环求环的长度?说明已经存在环int GetLoopListLen(ListNode* pMeetNode){if (pMeetNode == NULL)//pMeetNode为快慢指针相遇点return 0;int count = 0;ListNode* cur = pMeetNode;while (cur != pMeetNode){++count;cur = cur->next;}return count;}//若带环求环的入口点?ListNode* EntryNodeOfLoop(ListNode* pHead, ListNode* pMeet){if (NULL == pHead && NULL == pMeet){return NULL;}ListNode* pFirst = pHead;ListNode* pSecond = pMeet;while (pFirst != pMeet){pFirst = pFirst->next;pSecond = pSecond->next;}return pFirst;}
设计一个类不能被继承class A{public:static A GetA(){A a;return a;}static void deleteA(A* a){delete a;a = NULL;}private:A(){cout << "A" << endl;}~A(){cout << "~A" << endl;}};
设计一个类只能在栈上创建对象。 class StackType{public:static StackType* CreateObject(){return new StackType;}private:StackType(){}int _p;};
设计一个类只能在堆上创建对象。 class HeapType{public:static HeapType* CreateObject(){return new HeapType;}private:HeapType(){}int _p;};
阅读全文
0 0
- 链表带环问题【每日一题】
- 【每日一题-3】链表带环问题
- 链表带环问题
- 单链表带环问题
- 链表带环问题1
- 单链表带环问题
- 单链表带环问题
- 有关单链表带环的问题
- 面试题----单链表带环问题
- 链表带环和相交的问题
- 链表面试题3/链表带环问题--判断链表是否带环?
- 链表带环的问题研究及代码实现
- 链表相交问题【每日一题】
- 每日一题:过桥问题
- 关于单链表带环的一系列问题
- 单链表带环的一系列问题
- 链表常见面试题三:解决链表带环问题
- c/c++单链表面试题—链表带环问题
- 安卓NDK开发之快速熟悉JNI参数的回调
- 3、成员内部类的一个小题目(Outer.this)
- kali切换字符界面模式和切换图形界面模式
- [NOIp复习计划]:构造
- Android 布局
- 【每日一题-3】链表带环问题
- TCP 心跳 侧重于服务端分析
- 二叉树
- 水印动态时间
- Hibernate (一)
- 讨论构造、拷贝构造的N种调用情况
- 朴素贝叶斯分类器(Python实现)
- PAT a1010题解
- 关于Java中SQL语句拼写小问题(换行时缺少空格)