题解 | #判断链表中是否有环#
判断链表中是否有环
http://www.nowcoder.com/questionTerminal/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) { if(!head) return false; ListNode* slow = head; ListNode* fast = head; while(fast && fast->next){ slow = slow->next; fast = fast->next->next; if(slow == fast) return true; } return false; } }; class Solution { // 删除节点法 public: bool hasCycle(ListNode *head) { if(!head) return false; ListNode* post = head->next; while(post){ head->next = head; head = post; post = post->next; if(head == head->next) return true; } return false; } };