【leetcode】Linked List Cycle

来源:互联网 发布:淘宝客教网站程全集 编辑:程序博客网 时间:2024/05/17 09:16

问题:

给定个单链表,判断该链表是否存在环。

分析:

这个问题是见的非常多的题目,问题本身而言,技巧性很强,或者说思路很巧妙,这里要说的不是这个题目本身,而是说这种技巧,在很多的地方是用的到的,比如,在寻找单链表的中间节点的时候,就可以用这种形式,一个走两步,一个走一步的形式,来获得中间节点。
//
 bool hasCycle(ListNode *head) {        if(head == NULL)        return false;        ListNode *fast = head;        ListNode *slow = head;        while(NULL != fast && NULL != fast->next)        {            fast = fast->next->next;            slow = slow->next;            if(slow == fast)            return true;        }        return false;    }


0 0
原创粉丝点击