LC141 - 环形链表
LinkedListCycle.go |
---|
| package LinkedList
func hasCycle(head *ListNode) bool {
slow, fast := head, head
for fast != nil && fast.Next != nil {
slow = slow.Next
fast = fast.Next.Next
if slow == fast {
return true
}
}
return false
}
|
快慢指针。若链表有环,则快慢指针必然会在环上重新相遇;否则必然不会重新相遇。