/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
if(head == null) {//当前为空
return null ;
}
if(head.next == null) {//当前节点是最后一个结点,反转之后就是自己
return head ;
}
ListNode next = head.next ;//记录反转之前,当前节点的后一个结点
ListNode postRev = ReverseList(head.next) ;//把当前节点之后的链表反转,返回反转之后的头结点
head.next = null ;//重要,当前节点成为最后一个结点,将其next指针置null
next.next = head ;//反转前记录的当前节点后一个节点,在反转之后成为了当前节点前一个节点
return postRev ;
}
}