class ListNode {
public int data;
public ListNode next;
public ListNode(int data){
this.data = data;
}
}
public class Test4{
public static void main(String [] args){
ListNode root = new ListNode(1);
ListNode node1 = new ListNode(2);
ListNode node2 = new ListNode(3);
ListNode node3 = new ListNode(4);
root.next = node1;
node1.next = node2;
node2.next = node3;
node3.next = null;
ListNode pre = reverse(root);
while(pre != null){
System.out.printf("%d ",pre.data);
pre = pre.next;
}
}
//链表反转
public static ListNode reverse(ListNode root){
if(root == null){
return root;
}
ListNode tmp = null;
ListNode pre = null;
while(root != null){
tmp = root.next;
root.next = pre;
pre = root;
root = tmp;
}
return pre;
}
}
输出: