class Node {
int val;
Node next;
Node(int x) { val = x; }
}
public class ReverseListNode {
public static Node reverseNode(Node head){
Node cur = head; //当前节点
Node pre = null; //前一个节点
while (cur!=null){
Node next = cur.next; //保存后一个节点
cur.next = pre; //反向链表
pre = cur; //前指针后移
cur = next; //当前指针后移
}
return pre; //最后时 cur为null 最后一个为pre 返回
}
public static void main(String[] args) {
Node l1 = new Node(2); //2->4->3
Node l2 = new Node(4);
Node l3 = new Node(3);
l1.next = l2;
l2.next = l3;
Node node = reverseNode(l1); //反转链表 3->4->2
while (node!=null){ //当前节点不为空
System.out.println(node.val); //打印值
node = node.next; //节点后移
}
}
}