1、寻找快慢链表的相遇点
快链表步长为2,慢链表步长为1

ListNode fast=head;
        ListNode slow=head;
        ListNode meetNode=null;
        while (fast != null && fast.next != null) {
            slow = slow.next;
            fast = fast.next.next;
            if (slow == fast) {
                meetNode=slow;
                break;
            }
        }

如果没有相遇点则说明无环。

2、遍历链表,直到快慢链表再次相遇

ListNode fast1=head;
        ListNode slow1=meetNode;
        while (fast1 != slow1) {
            fast1 = fast1.next;
            slow1 = slow1.next;
        }

        return slow1;

快链表起始点为head,慢链表起点为相遇点为meetNode。
双链表步长都为1,当双链表再次相遇即为环入口。

注:环入口节点并不是相遇点,但环链表一定有相遇点,因此判断环链表的因素就是链表是否有相遇点。