public class ReverseList {
public static class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
public static ListNode reverseList(ListNode head) {
if(head == null || head.next == null){
return head;
}
ListNode reverseNode = null;
ListNode tempNode = null;
while(head != null){
//将head.next赋值为head,反转过来
tempNode = head.next;
head.next = reverseNode;
reverseNode = head;
head = tempNode;
}
return reverseNode;
}
public static void main(String[] args) {
ListNode node = new ListNode(1);
node.next = new ListNode(2);
node.next.next = new ListNode(3);
printListNode(node);
node = reverseList(node);
printListNode(node);
}
public static void printListNode(ListNode node){
while (node!=null){
System.out.print(node.val+" ");
node = node.next;
}
System.out.println();
}
}
1 2 3
3 2 1