/*
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||head.next==null){
return head;
}
//先将head。next后面的全部逆置,返回头节点
ListNode newhead = ReverseList(head.next);
//将当前节点添加到逆置后的链表后面,就是改变这两个节点的指向
head.next.next = head;
head.next = null;
return newhead;
}
}



京公网安备 11010502036488号