0
点赞
收藏
分享

微信扫一扫

记录bug1

青鸾惊鸿 2023-11-12 阅读 42

目录

1.判断一个表是否是环形链表!

代码如下

解析如下

2.快指针的步数和慢指针的步数有什么影响(无图解析)

3.怎么找到环形链表的入环点

代码如下

解析如下


1.判断一个表是否是环形链表!

代码如下

bool hasCycle(struct ListNode *head) {
    struct ListNode* fast = head;
    struct ListNode* slow = head;
    while(fast && fast->next)
    {
        fast = fast->next->next;
        slow = slow->next;
        if(fast == slow)
        {
            return true;
        }
    }
    return false;
}

解析如下

2.快指针的步数和慢指针的步数有什么影响(无图解析)

 其实上面第一题 一个走两步一个走一步的方法是有一个公式的。

3.怎么找到环形链表的入环点

代码如下

struct ListNode *detectCycle(struct ListNode *head) {
    struct ListNode* fast = head,*slow = head;
    while(fast && fast->next)
    {
        fast = fast->next->next;
        slow = slow->next;
        if(fast == slow)
        {
            struct ListNode* cur = slow;
            while(cur != head)
            {
                cur = cur->next;
                head = head->next;
            }
            return head;
        }
    }
    return NULL;
    
}

解析如下

首先做这题前,我们需要画一个图

举报

相关推荐

bug记录

bug场景记录

记录springboot bug

恐怖的Bug记录

前端小bug记录

课堂考勤管理系统——BUG记录

element-ui的bug记录

0 条评论