package main
// 141 Linked List Cycle
func hasCycle(head *ListNode) bool {
// 快慢指针方法
//fast, slow := head, head
//for slow != nil && fast != nil {
// slow = slow.Next
// fast = fast.Next.Next
// if slow == fast{
// return true
// }
//}
//return false
// 哈希集合
isExistsMap := map[*ListNode]struct{}{}
for head != nil {
if _, ok := isExistsMap[head]; ok {
return true
}
isExistsMap[head] = struct{}{}
head = head.Next
}
return false
}
LeetCode 141. 环形链表
最新推荐文章于 2025-12-11 15:34:25 发布
该博客探讨了如何检查链表中是否存在环。它介绍了两种方法:快慢指针法和哈希集合法。快慢指针法通过两个指针,一个快一个慢,来寻找链表中的环。而哈希集合法则利用集合存储已遍历过的节点,如果遇到已存在的节点,则说明存在环。这种方法简洁且高效。
249

被折叠的 条评论
为什么被折叠?



