在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),然后从原始链表的末尾开始遍历,将每个元素添加到新链表中。最后,我们清空原始链表,并将新链表的元素添加回原始链表。这样就实现了链表的反转。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。