温馨提示×

温馨提示×

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

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

Java LinkedList链表如何实现反转

发布时间:2025-06-09 04:21:46 来源:亿速云 阅读:106 作者:小樊 栏目:编程语言

在Java中,LinkedList类已经提供了一个名为reverse()的方法,可以直接实现链表的反转。以下是一个简单的示例:

import java.util.LinkedList;

public class Main {
    public static void main(String[] args) {
        LinkedList<String> list = new LinkedList<>();
        list.add("A");
        list.add("B");
        list.add("C");
        list.add("D");

        System.out.println("原始链表: " + list);

        // 反转链表
        list.reverse();

        System.out.println("反转后的链表: " + list);
    }
}

输出结果:

原始链表: [A, B, C, D]
反转后的链表: [D, C, B, A]

如果你想了解如何手动实现链表反转,可以使用迭代或递归的方法。以下是一个使用迭代方法的示例:

import java.util.LinkedList;

public class Main {
    public static void main(String[] args) {
        LinkedList<String> list = new LinkedList<>();
        list.add("A");
        list.add("B");
        list.add("C");
        list.add("D");

        System.out.println("原始链表: " + list);

        // 手动反转链表
        reverseList(list);

        System.out.println("手动反转后的链表: " + list);
    }

    public static void reverseList(LinkedList<?> list) {
        LinkedList<Object> reversedList = new LinkedList<>();
        for (int i = list.size() - 1; i >= 0; i--) {
            reversedList.add(list.get(i));
        }
        list.clear();
        list.addAll(reversedList);
    }
}

输出结果:

原始链表: [A, B, C, D]
手动反转后的链表: [D, C, B, A]

这个示例中,我们创建了一个新的LinkedList(reversedList),然后从原始链表的末尾开始遍历,将每个元素添加到新链表中。最后,我们清空原始链表,并将新链表的元素添加回原始链表。这样就实现了链表的反转。

向AI问一下细节

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

AI