876. 链表的中间结点

题目链接 876. 链表的中间结点
思路 快慢指针-经典应用题
题解链接 没想明白?一个视频讲透!(Python/Java/C++/Go/JS/Rust)
关键点 while fast and fast.next: ...
时间复杂度 \(O(n)\)
空间复杂度 \(O(1)\)

代码实现:

class Solution:
    def middleNode(self, head: Optional[ListNode]) -> Optional[ListNode]:
        slow = fast = head
        while fast and fast.next:
            fast = fast.next.next
            slow = slow.next
        return slow
posted @ 2024-09-11 22:05  WrRan  阅读(4)  评论(0编辑  收藏  举报