思路分析:
(1)定义一个set集合类,数据类型为链表类型
(2)遍历链表中的元素,如果在集合中没有就放到集合中,如果有的话就直接返回true
(3)程序末尾返回false
代码实现:
class Solution {
public:
bool hasCycle(ListNode *head) {
set<ListNode*> a;
while(head!=NULL){
if(a.count(head)==0){
a.insert(head);
}else{
return true;
}
head=head->next;
}
return false;
}
};