【数据结构练·JAVA】给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个 中间结点。

无论链表节点个数为奇数还是偶数,返回都是链表长度的一半的节点所对应的数值即可

public int middleNode() {
        Node cur = this.head;
        int len = getLength() / 2;//获得链表长度的一半
        //让 cur 走过连表长度的一半
        for (int i = 0; i < len; i++) {
            cur = cur.next;
        }
        return cur.data;
    }

猜你喜欢

转载自blog.csdn.net/LXL7868/article/details/89470399