876. 链表的中间结点

2019-02-26  本文已影响0人  Jason_Shu

题目链接: https://leetcode-cn.com/problems/middle-of-the-linked-list/

思路:用快慢指针,快指针每次走2步,慢指针每次走1步,路程相同(链表长度一定)的情况下,快指针的速度是慢指针的2倍,当快指针走完链表的时候,慢指针在链表的中间点。

var middleNode = function(head) {
    slow = fast = head;
    while (fast && fast.next) {  // 注意判断条件,fast是会先遍历完链表的,要保证fast.next不为空
        slow = slow.next;
        fast = fast.next.next;
    }
    return slow;
};
上一篇 下一篇

猜你喜欢

热点阅读