https://leetcode-cn.com/problems/linked-list-cycle-ii/
/*** Definition for singly-linked list.* class ListNode {* val: number* next: ListNode | null* constructor(val?: number, next?: ListNode | null) {* this.val = (val===undefined ? 0 : val)* this.next = (next===undefined ? null : next)* }* }*/function detectCycle(head: ListNode | null): ListNode | null {if (head === null) return nulllet fast = head;let slow = head;let isCycle = false;while (fast.next !== null && fast.next.next !== null) {fast = fast.next.nextslow = slow.next!if (slow === fast) {isCycle = truebreak;}}if (!isCycle) return nullfast = headwhile (slow!==fast) {fast = fast.next!slow = slow.next!}return fast};
function detectCycle(head: ListNode | null): ListNode | null {
let val: ListNode[] = []
let last: ListNode | null = head
while (last !== null && last.next !== null) {
val.push(last)
last = last.next
}
if (last == null) return null
else {
for (let i = 0; i < val.length; i++) {
if (val[i].val === last.val) {
return val[i]
break
}
}
}
}
