美文网首页
链表| Leetcode 876

链表| Leetcode 876

作者: 三更冷 | 来源:发表于2023-03-11 16:29 被阅读0次

    Leetcode 分类刷题 —— 链表类(Linked List)

    1、题目

    Leetcode 876. Middle of the Linked List

    给你单链表的头结点 head ,请你找出并返回链表的中间结点。
    如果有两个中间结点,则返回第二个中间结点。

    2、思路

    经典链表快慢指针题目,快指针每次走2步,慢指针每次走1步,当快指针走到末尾时慢指针正好走到中间。类似题目:链表排序

    3、Java 代码

        // 奇数个节点找到中点,偶数个节点找到中心左边的节点。
        private ListNode middleNode(ListNode head) {
            if (head == null || head.next == null) {
                return head;
            }
            ListNode slow = head;
            ListNode fast = head.next.next;
    
            while (fast != null && fast.next != null) {
                slow = slow.next;
                fast = fast.next.next;
            }
    
            return slow;
        }
    

    相关文章

      网友评论

          本文标题:链表| Leetcode 876

          本文链接:https://www.haomeiwen.com/subject/nwelldtx.html