定义一个Node类,每个Node都有下一个Node。
public static class Node<V>{
Node<V> next;
private Node(V v){
value = v;
next = null;
}
}
创建一个节点的转换方法
public static Node revertLinkedList(Node head){
//传入一个头节点,返回新的头节点
Node pre = null;
Node next = null;
while(head != null){
//提前记录当前头节点的下一个位置
next = head.next;
//当前头节点的下一个节点指向一个空的地址
head.next = pre;
//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 = revertLinkedList(node);
while(node != null){
System.out.print(node.value);
node = node.next;
}
}