链表中环的入口结点


求解代码

java 复制代码
public ListNode EntryNodeOfLoop(ListNode pHead) {
        // 快慢指针都从链表头出发
        ListNode fast = pHead;
        ListNode slow = pHead;


        while (fast != null && fast.next != null) {
            fast = fast.next.next; // 快指针走2步
            slow = slow.next;      // 慢指针走1步

            // 快慢指针相遇 → 证明链表有环,进入找入口逻辑
            if (slow == fast) {
                // 找环的入口
                while (pHead != slow) {
                    pHead = pHead.next; // 头指针走1步
                    slow = slow.next; // 相遇点指针走1步
                }
                return slow; // 相遇时就是环的入口
            }
        }
				// 无环,返回null
        return null;
    }
相关推荐
AI科技星1 天前
引力场与磁场的几何统一:磁矢势方程的第一性原理推导、验证与诠释
数据结构·人工智能·经验分享·线性代数·算法·计算机视觉·概率论
姓蔡小朋友1 天前
算法-子串
java·数据结构·算法
梭七y1 天前
【力扣hot100题】(131)排序链表
算法·leetcode·链表
im_AMBER1 天前
Leetcode 97 移除链表元素
c++·笔记·学习·算法·leetcode·链表
海奥华21 天前
Golang Channel 原理深度解析
服务器·开发语言·网络·数据结构·算法·golang
星火开发设计1 天前
链表详解及C++实现
数据结构·c++·学习·链表·指针·知识
CCPC不拿奖不改名1 天前
python基础:python语言的数据结构+面试习题
开发语言·数据结构·python·面试
CCPC不拿奖不改名1 天前
Python基础:python语言中的文件操作+面试题目
开发语言·数据结构·人工智能·python·学习·面试·职场和发展
橘颂TA1 天前
【剑斩OFFER】算法的暴力美学——力扣 43 题:字符串相乘
数据结构·算法·leetcode·职场和发展·哈希算法·结构与算法