export function hasCycle(head: ListNode): boolean { // 使用快慢指针判断单双列表是否有环, 快指针每次走两步, 慢指针每次走一步, 如果存在环, 那快慢指针会在跑过一圈之后指向同一个结点 // 判断依据是: // 1. 假设快指针距离慢指针只有一步, 则下一次跳跃时, 快慢指针就会相遇; // 2. 假设快指针距离慢指针有两步, 则下一次跳跃时两指针相距一步, 回到情形1 // 3. 距离三步, 跳跃回到情形2 // 4. 由此可见, 每一次跳跃都会让快慢指针的间距减少1. 即使是最极端的情况, 慢指针刚进入环时...