/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode EntryNodeOfLoop(ListNode pHead)//求环入口,先找到环的长度,再让一个指针走环长度步,再让另一个指针之后开始走,两者相遇的地方就是环入口 { ListNode meetingNode=MeetingNode(pHead); if(meetingNode==null) return null; //得到环中节点的数目 int nodesInLoop=1; ListNode pNode1=meetingNode; while(pNode1.next!=meetingNode) { pNode1=pNode1.next; ++nodesInLoop; } //先移动pNode1,次数为环中节点的数目 pNode1=pHead; for(int i=0;i