public class singleList {
// 单链表的反转
public static class Node {
public int value;
public Node next;
public Node(int data) {
value = data;
}
}
public static Node reverseList(Node head) {
Node pre = null;
Node next;
while(Objects.nonNull(head)) {
next = head.next;
head.next = pre;
pre = head;
head = next;
}
return pre;
}
public static void main(String[] args) {
Node node = new Node(1);
node.next = new Node(2);
node.next.next = new Node(3);
node.next.next.next = new Node(4);
node.next.next.next.next = new Node(5);
Node reverseNode = reverseList(node);
while (reverseNode != null) {
System.out.print(reverseNode.value + " ");
reverseNode = reverseNode.next;
}
System.out.println();
// while (node != null) {
// System.out.print(node.value + " ");
// node = node.next;
// }
// System.out.println();
//
// Node reverseNode = reverseList(node);
// while (reverseNode != null) {
// System.out.print(reverseNode.value + " ");
// reverseNode = reverseNode.next;
// }
// System.out.println();
}
}
单链表的反转
最新推荐文章于 2025-12-07 15:47:39 发布
该代码示例展示了如何使用Java编写一个静态方法来反转单链表。通过迭代方式,逐个节点更新其next指针,最终返回反转后的链表头节点。在主方法中创建了一个包含五个节点的链表并进行了反转操作,打印反转后的链表节点值。
286

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



