如何在一个不知道长度的LinkedList中,找到LinkedList的中间元素?

本文探讨了一种在链表中查找中间元素的方法,通过对比直接使用JDK的LinkedList与自行实现链表并应用快慢指针策略的区别。详细介绍了如何从零开始构建链表结构,包括节点定义、添加元素及使用快慢指针定位中间值的过程。

不得不说这家面试题很有水准,回来以后搜相同的题目是搜不到信息的,回来以后对于这道题我就有点不明白的地方,是要我自己实现链表再查找中间元素,还是在已有的LinkedList中查找中间元素?所以刚开始的猜想我是直接用jdk已有的LinkedList来实现的。

public static void main(String[] args) {
        LinkedDemo();
    }

    public static void LinkedDemo() {
        LinkedList<String> linkedList = new LinkedList();
        // 1个元素无中间元素,两个元素无中间元素,3个元素1,4个2,5个1,6个2,7个1,8个2
        linkedList.add("df");
        linkedList.add("xxh");
        linkedList.add("db");
        linkedList.add("dd");
        linkedList.add("ll");
        linkedList.add("l3");

        int length = 0;
        for (int i = 0; i < linkedList.size(); i++) {
            length = i + 1;
        }


        if (length > 2) {
            // 偶数
            if (length % 2 == 0) {
                int index = length / 2;
                System.out.println("中间元素有:" + linkedList.get(index) + "," +
                        linkedList.get(index - 1));
            }
            // 奇数
            if (l
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值