Given a linked list, determine if it has a cycle in it.
还是linked list中的简单题,需要判断一个链表是否成环。成环的条件显然就是中途有节点指向前面的几点了,所以我们将遍历到的节点放到一个集合中,然后后面遍历的节点都在这个集合中查找一下,找到的话就说明成环了,否则不成环。
class Solution {
public:
bool hasCycle(ListNode *head) {
unordered_set<ListNode*> nodes;
while(head) {
if(nodes.count(head)==1) {
return true;
} else {
nodes.insert(head);
}
head = head->next;
}
return false;
}
};
作者:Leafage_M 发表于2017/9/18 22:49:42 原文链接
阅读:28 评论:0 查看评论