力扣 876题 链表的中间节点


Question 876-middle of the linked list

解题思路

假设我们有两个指针,都指向链表的头节点,但一个指针(称为快指针)向后遍历的速度比另一个(称为慢指针)快一倍。那么:当快指针遍历到链表的末尾时,慢指针会正好指向链表的中央。

代码

class Solution {
    public ListNode middleNode(ListNode head) {

        ListNode fast = head;
        ListNode slow = head;

        while (null != fast && null != fast.next) {

            fast = fast.next.next;
            slow = slow.next;
        }

        return slow;
    }
}