leetcode 链表的中间结点

 

 这是一道easy题,直接的方法可以遍历两次,先得到length再走length/2步(向上取整),如果需要一次遍历,可以使用快慢指针,当快指针到达null时,慢指针的位置就是中点。

    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;
    }

 

posted @ 2021-09-13 16:45  毅毅毅毅毅  阅读(28)  评论(0)    收藏  举报