public class TurnBackLinkedList {
public static void main(String[] args) {
Node head = new Node();
Node cur = head;
for(int i = 0; i < 10; i++) {
int value = (int) (Math.random()*100);
Node newNode = new Node();
newNode.value = value;
cur.next = newNode;
cur = cur.next;
}
printLinkedList(head);
Node newHead = turnBackLinkedList(head);
printLinkedList(newHead);
}
static Node turnBackLinkedList(Node head){
Node newHead = head;
Node oldHead = head.next;
newHead.next = null;
while(oldHead != null) {
Node temp = oldHead.next;
oldHead.next = newHead;
newHead = oldHead;
oldHead = temp;
}
return newHead;
}
static class Node {
Node next;
int value;
}
static void printLinkedList(Node head) {
Node cur = head;
while(cur != null) {
System.out.print(cur.value + " ");
cur = cur.next;
}
System.out.println();
}
}
[Algorithm] Java链表反转
最新推荐文章于 2025-03-21 10:33:10 发布
本文介绍了一种反转链表的方法,并提供了完整的Java代码实现。通过迭代的方式改变每个节点的指向,最终达到反转整个链表的目的。文章首先创建了一个包含10个随机值的链表,然后展示了反转前后链表的状态。

325

被折叠的 条评论
为什么被折叠?



