网站海报做一张多少钱,漯河有没有做网站的,宝安小学网站建设,网站收录低这题与上一题有一点不同#xff0c;上一题是判断链表是否存在环#xff0c;这题是寻找入环的第一个节点#xff0c;有一个规则是这样的#xff0c;在存在环的情况下#xff0c;运用快慢指针判断是否有环结束时#xff0c;把快指针指向头结点#xff0c;慢指针不变#…
这题与上一题有一点不同上一题是判断链表是否存在环这题是寻找入环的第一个节点有一个规则是这样的在存在环的情况下运用快慢指针判断是否有环结束时把快指针指向头结点慢指针不变然后循环快慢指针每次只走一步最终会在入环的第一个节点相遇代码如下
public class Solution {public ListNode detectCycle(ListNode head) {if (head null || head.next null) {return null;}ListNode slow head, fast head;while (fast ! null) {slow slow.next;if (fast.next ! null) {fast fast.next.next;} else {return null;}// 如果在快慢指针规则移动指针存在slow fast说明存在环if (slow fast) {// 此时需要寻找入环的第一个节点将fast指向头节点fast head;// 然后快指针和慢指针各移动一次最终会在入环的第一个节点相遇while (slow ! fast) {slow slow.next;fast fast.next;}return fast;}}return null;}
}
题目链接题单 - 力扣LeetCode全球极客挚爱的技术成长平台