判断链表中是否存在环?
2023-04-18 本文已影响0人
月禅
判断链表是否为环: 快指针移动两步,慢指针移动一步,快慢指针相遇即是环
class HuanLinkedList {
func isHuanLinkedList(_ list: LinkList<Int>) -> Bool {
if list.isEmpty {
return false
}
// 快慢指针
let slowPtr = list.first
let fastPtr = list.first
while let slowPtr = slowPtr?.next, let fastPtr = fastPtr?.next?.next, slowPtr == fastPtr {
return true
}
return false
}
}