题目:
(142)循环链表
class Solution {
public:
ListNode *detectCycle(ListNode *head) {
ListNode * fast = head;
ListNode * last = head;
ListNode * tmp;
while(fast != nullptr && fast->next != nullptr){ //注意fast->next != null
fast = fast->next->next;
last = last->next;
if(fast == last){
ListNode * node1 = fast; //注意这部分的写法
ListNode * node2 = head;
while(node1 != node2){
node1 = node1->next;
node2 = node2->next;
}
return node2;
}
}
return NULL;
}
};