您的位置:首页 > 其它

LeetCode 141 Linked List Cycle

2015-04-24 14:01 537 查看

题目



分析

如果没有循环,在不断向后遍历的过程中最后肯定成为NULL

如果有循环最后肯定会重复遍历同一个指针,那么只需要将遍历过的指针存起来即可,判断是否再次遍历到同一个指针。

题解

class Solution {
public:
bool hasCycle(ListNode *head) {
multimap<ListNode *,int> Limmp;
struct ListNode *p=head;
while(p!=NULL && Limmp.count(p)==0){
Limmp.insert(pair<ListNode *,int>(p,1));
p=p->next;
}
if(p==NULL)
return false;
else
return true;
}
};


做这题之前我一直不知道map类型的键可以为指针类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: