linked_list_cycle
linked_list_cycle.go 源码
package main
//环形链表
//使用set判重
func hasCycle1(head *ListNode) bool {
set := map[*ListNode]bool{}
for head != nil {
if _, ok := set[head]; ok {
return true
}
set[head] = true
head = head.Next
}
return false
}
//快慢指针法
func hasCycle2(head *ListNode) bool {
slow, fast := head, head
for fast != nil && fast.Next != nil {
slow, fast = slow.Next, fast.Next.Next
if slow == fast {
return true
}
}
return false
}
你可能感兴趣的文章
0
赞
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦