思路: 如果有环,把这个链表想象成刀,我们从刀把开始出发,刀把长x,假设第一次相遇时走了 x+y ,y是环上的距离。fast则走了2*(x+y), y % s == (2*(x+y) - x) % s ,也就是说 y%s == (x + 2y ) %s,所以x + y == s的,也就是说 slow再走x距离就到了环入口节点。所以将fast节点重置为头结点遍历即可 public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; ...