美文网首页
求链表的中间节点

求链表的中间节点

作者: 我姓杨却不是你信仰 | 来源:发表于2020-11-18 13:41 被阅读0次
    /**
     * 求链表的中间节点
     * 快慢指针原理(快指针每次走2个节点,慢指针走1个节点,当快指针走到尾部时,慢指针当前的节点,就是中间节点,)
     * 链表长度为偶数时,会有2个中间节点,可以自行选择要前一个中间节点或者后一个中间节点
     * @param node
     * @return
     */
    public static Node middleNode(Node node){
        if(node == null || node.getNext() == null){
            return node;
        }
        Node slow = node;
        Node fast = node.getNext();
        while (fast != null && fast.getNext()!=null){
            slow = slow.getNext();
            fast = fast.getNext().getNext();
        }
        return slow;
    }

    相关文章

      网友评论

          本文标题:求链表的中间节点

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