/*
* @lc app=leetcode.cn id=142 lang=javascript
*
* [142] 环形链表 II
*/
// @lc code=start
/**
* Definition for singly-linked list.
* function ListNode(val) {
* this.val = val;
* this.next = null;
* }
*/
/**
* @param {ListNode} head
* @return {ListNode}
*/
var detectCycle = function (head) {
const hash = new Map()
let count = 0;
let cur = head;
let flag = -1;
while (cur) {
if (hash.has(cur)) {
flag = hash.get(cur)
break
}
hash.set(cur, count);
cur = cur.next;
count++
}
if (flag === -1) {
return null
}
let temp = head
while (flag--) {
temp = temp.next;
}
return temp;
};
// @lc code=end