链表的中间节点

题目 - Middle Of The Linked List

LeetCode-876

难度:简单

分析

快慢指针

让快指针比慢指针,多走一步

当快指针达到链表尾端时,慢指针必然是在中间节点

代码

    func middleNode(_ head: ListNode?) -> ListNode? {
    var fast = head, slow = head
    
    while fast != nil && fast!.next != nil {
        fast = fast!.next!.next
        slow = slow!.next!
    }
    return slow
    }