题解 | #链表中环的入口结点#
链表中环的入口结点
https://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
*/
public class Solution {
public ListNode EntryNodeOfLoop(ListNode pHead) {
if (pHead==null || pHead.next==null) return null;
ListNode fast = pHead;
ListNode slow = pHead;
while (fast!=null && fast.next!=null) {
fast=fast.next.next;
slow=slow.next;
// 快慢相遇,说明成环
if (fast==slow) {
ListNode tmp = pHead;
while (tmp!=slow) {
tmp=tmp.next;
slow=slow.next;
}
return tmp;
}
}
return null;
}
}
解题思想:
* 方式一:借助set
* 方式二:快慢指针
#算法##算法笔记#
顺丰集团工作强度 372人发布