![](https://csdnimg.cn/release/download_crawler_static/88347224/bg1.jpg)
1. java 实现单链表参考(运用了递归)
class ListNode<T> {
private int foot; //根节点索引位置
private int count; //代表链表程度
private Node root; //标识根节点
//链接点类,内部方法实现,外部使用
private class Node{
private T data; //数据信息
private Node next; //下一个节点引用
public Node(T data) {
this.data = data;
}
//添加节点
private void add(T data){
if(this.next == null){
this.next = new Node(data); //如果当前节点的 next 为 null,直接
创建一个新的节点
}else {
this.next.add(data); //否则进行递归调用,直到最后在某个为
空的节点创建一个新节点
}
}
//删除节点 1
public void remove(Node previous, int index){
if(ListNode.this.foot++ == index){
previous.next = this.next; //this 表示当前要删除的节点
this.next = null;
ListNode.this.count--;
return;
}else{
this.next.remove(this,index); //递归删除
}
}
//删除节点 2
public void remove(Node previous, T data){