首页 > 代码库 > leetcode Linked List Cycle

leetcode Linked List Cycle

判断链表中有没有环。

一个指针跑一次,一个指针跑两次,相遇就是有环

/** * 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 || !head -> next) return false;        ListNode *l1 = head, *l2 = head -> next;        while(l1 && l2)        {            if (l1 == l2)                return true;            l1 = l1 -> next;             l2 = l2 -> next;            if (!l2)                break;            l2 = l2 -> next;        }        return false;    }};

 

leetcode Linked List Cycle