单向链表的反转
public class LinkedNode {
Integer id;
LinkedNode next;
public LinkedNode(Integer id) {
this.id = id;
}
}
//创建链表
LinkedNode node1 = new LinkedNode(1);
LinkedNode node2 = new LinkedNode(2);
LinkedNode node3 = new LinkedNode(3);
//递归该方法
public LinkedNode reverseList(LinkedNode node) {
// 如果为空链表或者只有一个节点的链表则不需要处理
if (node == null || node.next == null) {
return node;
}
// 递归直到找到尾结点
LinkedNode newHead = reverseList(node.next);
// 尾节点反指
node.next.next = node;
// 当前节点指向null节点
node.next = null;
return newHead;
}
原文:https://www.cnblogs.com/liunx1109/p/14334106.html