每日刷题-876. 链表的中间结点

127 阅读1分钟

876. 链表的中间结点

给定一个头结点为 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。

//链表的缺点不能通过下标访问对应的元素

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