leetCode-linkedListCycle判断链表是否有环

来源:互联网 发布:怎样开农村淘宝服务站 编辑:程序博客网 时间:2024/06/06 14:20

题目

Given a linked list, determine if it has a cycle in it.
Follow up:
Can you solve it without using extra space?

分析

判断链表是否有环,采用快慢指针,如果相遇则表示有环

AC代码

/** * 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* slow = head;        ListNode* fast = head->next;        while(fast->next && fast->next->next && fast != slow){            fast = fast->next->next;            slow = slow->next;        }        return fast == slow;    }};
原创粉丝点击