关关的刷题日记 74 – Leetcode 141. Linked List Cycle

关关的刷题日记74 – Leetcode 141. Linked List Cycle

题目

Given a linked list, determine if it has a cycle in it.

Follow up: Can you solve it without using extra space?

题目让我们判断一个链表中是否有环。

思路

思路:设置快慢指针fast, slow,慢指针每次走一步,快指针每次走两步。如果链表中有环的话,快慢指针早晚会相遇;如果链表中没有环,那么fast或者fast->next会有一个先达到nullptr。

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


照顾好自己的身体,控制好自己的情绪,加油!

以上就是关关关于这道题的总结经验,希望大家能够理解,有什么问题可以在我们的专知公众号平台上交流或者加我们的QQ专知-人工智能交流群 426491390,也可以加入专知——Leetcode刷题交流群(请先加微信小助手weixinhao: Rancho_Fang)。 同时请,关注我们的公众号,获取最新关于专知以及人工智能的资讯、技术、算法等内容。扫一扫下方关注我们的微信公众号。

图片

展开全文
相关主题
Top
微信扫码咨询专知VIP会员