题解 | #链表中环的入口结点#

链表中环的入口结点

https://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4

/*
struct ListNode {
    int val;
    struct ListNode *next;
    ListNode(int x) :
        val(x), next(NULL) {
    }
};
*/
class Solution {
public:
    ListNode* EntryNodeOfLoop(ListNode* pHead) {
        //快慢指针
    
        //判断有环无环
        ListNode* slow = pHead;
        for(int i = 0;i < 10000;i++)
        {
            if(slow == nullptr) return nullptr;slow = slow->next;
        }
            
            
        
        slow = pHead->next;
        ListNode* quick = pHead->next->next;
       
        while(slow != quick)  //有环就会相遇
        {
            slow = slow->next;
            quick = quick->next->next;
        }
        
        quick = pHead;
        while(quick != slow)
        {
            quick = quick->next;
            slow = slow->next;
        }

        return slow;
    }
};

全部评论

相关推荐

看到这个内容真是闹麻了。。。。。。现在有了AI以后很多人面试都会作弊吗?&nbsp;那对老老实实面试的人岂不是不公平....
程序员牛肉:公平那是对小孩子讲的童话故事,成年人的世界只有能不能接受失败的后果。 你要是能接受面试作弊被发现之后多家公司联合永久拉黑的后果,你就搞。
点赞 评论 收藏
分享
真烦好烦真烦:牛友太有实力了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 17:37
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务