LeetCode 141. Linked List Cycle

来源:互联网 发布:简简单单软件 编辑:程序博客网 时间:2024/05/16 01:58

用O(1)的额外空间判断给定链表是否存在环:

用快慢指针,slow指针每次移进一个结点,fast指针移近两个。

不断循环至出现NULL,若存在环,则两个指针必有相等的时候,此时return true;反之,循环将终止,return false。


代码:

class Solution{public:bool hasCycle(ListNode *head) {        ListNode *slow=head, *fast=head;        while (fast!=NULL && fast->next!=NULL && fast->next->next!=NULL)        {        slow = slow->next;        fast = fast->next->next;        if (slow == fast)        {        return true;        }        }        return false;    }};


0 0
原创粉丝点击