快速找到未知长度单链表的中间节点
在讨论之前,我们首先首先要明白,什么是单链表? 单链表:链接方式存储的线性表 单链表的结点结构 ┌──┬──┐ │data│next│ └──┴──┘ data域--存放结点值的数据域 next域--存放结点的直接后继的地址(位置)的指针域(链域) 注意: ①链表通过每个结点的链域将线性表的n个结点按其逻辑顺序链接在一起的。 ②每个结点只有一个链域的链表称为单链表(Single Linked List)。 那么我们先用java设计一下我们的单链表 public class MyLinkedList<E> { Node<E> first; Node<E> last; public MyLinkedList() { super(); } public void add(E e) { if (first == null) { first = new Node<E>(e, null); } else { if (last == null) { last = new Node<E>(e, null); first.next = last;// 因为first和last还没建立关系,所以在这里要将他们的关系建立起来 } else { Node<E> n = new Node<>(e, null);// 一个临时的引用n last.next = n;//