链表这个数据结果经常遇见,这里提供一个链表反转的java代码实现,有三种算法,一种是递归的,俩种是非递归的。
首先为了方便测试,在博文最后贴上递归实现链表创建的代码,以供读者快速上手测试,提供的代码可以复制以后直接测试
先看看Node节点把
public class Node {
//链表用于存储值
private final int value;
//指向下一个节点 理解为Node next更加恰当
private Node node;
public Node(int value) {
this.value = value;
this.node = null;
}
public int getValue() {
return value;
}
public Node getNode() {
return node;
}
public void setNode(Node node) {
this.node = node;
}
}
复制代码
看看链表反转递归方法
public Node reverserLinkedList(Node node){
if (node.getNode() == null || node == null){
return node;
}
Node newdata = reverserLinkedList(no