链表有单向的也有双向的
双向链表与单向链表的区别
双向链表可以存储除它自身地址外,还可以存储它的前一节点地址,也可以存储后一节点的地址。
单向链表即单链表存储除它自身地址外,只能存储下一节点的地址。
class ListNode{
public int val;
public ListNode next;
public ListNode prev;
public ListNode(int val){
this.val = val;
}
}
public class MyDoubleLinkedList {
public ListNode head;//头结点
public ListNode last;//尾节点
//头插法
public void addFirst(int data){
ListNode node = new ListNode(data);
if (this.head == null){
this.head = node;
this.last = node;
}else{
node.next = this.head;
this.head.prev = node;
this.head = node;
}
}
//尾插法
public void addLast (int data){
ListNode node = ne