876.链表的中间结点(两种解法)

Posted *平芜尽处是春山*

tags:

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

解法一:暴力求解法

class Solution 
    public ListNode middleNode(ListNode head) 
        ListNode node = head;
        int size = 0;
        while(node != null) 
            size++;
            node = node.next;
        
        for(int i = 0; i < size/2; i++) 
            head = head.next;
        
        return head;
    

运行截图:

解法二、快慢指针法

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

运行截图:

以上是关于876.链表的中间结点(两种解法)的主要内容,如果未能解决你的问题,请参考以下文章

链表876. 链表的中间结点

[JavaScript 刷题] 链表 - 链表的中间结点, leetcode 876

LeetCode 876. 链表的中间结点

[JavaScript 刷题] 链表 - 链表的中间结点, leetcode 876

Java每日一题——> 876. 链表的中间结点

LeetCode876. 链表的中间结点