876. 链表的中间结点

题目链接: 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;
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容