判断链表中是否存在环?

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
    }

}
上一篇 下一篇

猜你喜欢

热点阅读