Files
practice/pkg/linked_list_cycle/main.go
2026-01-17 13:39:20 -05:00

29 lines
385 B
Go

package linked_list_cycle
type ListNode struct {
Val int
Next *ListNode
}
func succeed(n *ListNode) *ListNode {
if n == nil {
return n
} else {
return n.Next
}
}
func HasCycle(head *ListNode) bool {
one, two := head, succeed(head)
for one != nil && two != nil {
if one == two {
return true
}
one, two = succeed(one), succeed(succeed(two))
}
return false
}