LeetCode Java刷题笔记—876. 链表的中间结点

Posted 刘Java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode Java刷题笔记—876. 链表的中间结点相关的知识,希望对你有一定的参考价值。

876. 链表的中间结点

给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。

简单难度。使用快慢指针即可,快指针fast每次走2步,慢指针slow每次走1步,当fast走到末尾时slow正好走到中间,返回slow即可。

public ListNode middleNode(ListNode head) 
    ListNode fast = head, slow = head;
    while (fast != null && fast.next != null) 
        fast = fast.next.next;
        slow = slow.next;
    
    return slow;

以上是关于LeetCode Java刷题笔记—876. 链表的中间结点的主要内容,如果未能解决你的问题,请参考以下文章