141【简单】环形链表 I
题目链接: https://leetcode-cn.com/problems/linked-list-cycle/
思路
使用快慢指针判断是否有环。使用一个快指针,每次前进两个节点;一个慢指针,一次前进一个节点。两个指针相遇说明链表有环,快指针走到链表尾部说明链表无环。
完整代码
func hasCycle(_ head: ListNode?) -> Bool {
if head == nil {
return false
}
var fast = head
var slow = head
while fast?.next?.next != nil {
fast = fast?.next?.next
slow = slow?.next
if fast === slow {
return true
}
}
return false
}
修订记录
2022-05-10T16:42:40+08:00
- 创建。