Loading

力扣 - 876. 链表的中间结点

题目

876. 链表的中间结点

思路

  • 利用快慢指针
  • 慢指针一步走一个,快指针一步走两个
  • 当快指针到达终点时候,slow刚好在中间

代码

class Solution {
    public ListNode middleNode(ListNode head) {
        ListNode slow = head;
        ListNode fast = head;
        while (fast != null && fast.next != null) {
            fast = fast.next.next;
            slow = slow.next;
        }
        return slow;
    }
}

复杂度分析

  • 时间复杂度:\(O(N)\),其中 N 为数组长度
  • 空间复杂度:\(O(1)\)
posted @ 2020-11-29 01:14  linzeliang  阅读(44)  评论(0)    收藏  举报