leetcode 141.Linked List Cycle
2015-11-08 11:00
239 查看
思路:
快慢指针
n1每次递增为n1->next;
n2每次递增为n2->next->next;
如果n1==n2,那么说明有循环
PS:Linked List Cycle II应该会需要到这个解法。
快慢指针
n1每次递增为n1->next;
n2每次递增为n2->next->next;
如果n1==n2,那么说明有循环
PS:Linked List Cycle II应该会需要到这个解法。
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: bool hasCycle(ListNode *head) { if(!head) return false; if(!head->next) return false; ListNode* n1=head; ListNode* n2=head->next; while(n1){ if(n1==n2) return true; if(n1->next){ n1=n1->next; }else{ return false; } if(n2->next){ if(n2->next->next){ n2=n2->next->next; }else{ return false; } }else{ return false; } } return false; } };
相关文章推荐
- 关于指针的一些事情
- C# Pointer指针应用实例简述
- C++智能指针实例详解
- C++指向函数的指针实例解析
- 关于c语言指针的两处小tip分享
- 浅析iterator与指针的区别
- 探讨C++中数组名与指针的用法比较分析
- 详解C++中的指针、数组指针与函数指针
- C++中字符串以及数组和指针的互相使用讲解
- C语言安全之数组长度与指针实例解析
- C++中指向对象的常指针与指向常对象的指针详解
- 指向变量的常指针与指向常变量的指针详细解析
- C#通过指针实现快速拷贝的方法
- php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
- C#通过指针读取文件的方法
- C语言指针学习经验总结浅谈
- C++交换指针实例
- C/C++中指针和引用之相关问题深入研究
- C++基础入门教程(四):枚举和指针
- c++传递函数指针和bind的示例