题解 | #判断链表中是否有环#
判断链表中是否有环
https://www.nowcoder.com/practice/650474f313294468a4ded3ce0f7898b9
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: bool hasCycle(ListNode *head) { //当没有或只有一个节点时返回false if(head==nullptr||head->next==nullptr){ return false; } //定义一个快慢指针 ListNode* fast=head; ListNode* slow=head; while(fast!=nullptr&&fast->next!=nullptr){ // //让快指针走两步慢指针走一步 fast=(fast->next)->next; slow=slow->next; //如果相遇则有环返回true不相遇则无环返回false if(fast==slow){ return true; } } return false; } };