Java LinkedList 中如何获取中间节点

发布时间:2025-01-21 17:10:30 作者:小樊
来源:亿速云 阅读:87

在 Java 中,LinkedList 没有提供直接获取中间节点的方法

import java.util.LinkedList;

public class Main {
    public static void main(String[] args) {
        LinkedList<Integer> list = new LinkedList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);

        System.out.println("中间节点: " + findMiddleNode(list));
    }

    public static <T> T findMiddleNode(LinkedList<T> list) {
        if (list == null || list.isEmpty()) {
            return null;
        }

        int size = list.size();
        int middleIndex = size / 2;

        if (size % 2 == 0) {
            // 如果链表长度为偶数,返回中间两个节点的后一个节点
            return list.get(middleIndex);
        } else {
            // 如果链表长度为奇数,返回中间节点
            return list.get(middleIndex);
        }
    }
}

这个示例中,我们定义了一个泛型方法 findMiddleNode,它接受一个 LinkedList 作为参数。我们首先检查链表是否为空或长度为 0,如果是,则返回 null。然后,我们计算链表的大小(节点数),并找到中间节点的索引。如果链表长度为偶数,我们返回中间两个节点的后一个节点;如果链表长度为奇数,我们直接返回中间节点。

推荐阅读:
  1. JAVA自己实现LinkedList
  2. 死磕 java集合之LinkedList源码分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:BigDecimal 的任意精度是如何设置的

下一篇:macOS系统如何提高工作效率

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》