简介
容易想到的方法就是 map , set 之类的.
code
class Solution {
public:
ListNode *detectCycle(ListNode *head) {
if(head == nullptr) return nullptr;
ListNode *p = head;
unordered_map<ListNode*, bool> m;
int index = 0;
while(p){
if(m[p]){
return p;
}
index++;
m[p] = true;
p = p->next;
}
return nullptr;
}
};
public class Solution {
public ListNode detectCycle(ListNode head) {
ListNode p = head;
Map<ListNode, Boolean> m = new HashMap<ListNode, Boolean>();
while(p != null){
if(m.containsKey(p)){
return p;
}
m.put(p, true);
p = p.next;
}
return null;
}
}
---------------------------我的天空里没有太阳,总是黑夜,但并不暗,因为有东西代替了太阳。虽然没有太阳那么明亮,但对我来说已经足够。凭借着这份光,我便能把黑夜当成白天。我从来就没有太阳,所以不怕失去。
--------《白夜行》