参考博文:
1、反转单向链表
有两种方法,递归和遍历,具体实现过程请看上面俩个博文中的图表结合下面代码的注释
代码实现:
package cn.nupt;
/**
* @Description: 反转单向和双向链表
*
* @author PizAn
* @Email pizan@foxmail.com
* @date 2019年2月18日 下午12:47:20
*
*/
public class ReverseList {
// 构建链表结构,这里是静态内部类
public static class Node {
int value;
Node next;
// 再来个构造方法
public Node(int value) {
this.value = value;
}
}
// 反转单项链表,这里用两种方法 Recursive递归 Traversing遍历
// 首先是递归的方法
public static Node reverseListRecursive(Node node) {
// 如果node为null,或者到了最后一个节点,就返回这个节点(头节点)
if (node == null || node.next == null) {
return