大话数据结构中,这一块其实对于初学的还是挺难的,我看了小半天,最后才转过弯来,
首先看图,图中箭头指明了思路,一开始我对链表的头部没想明白,后来想通了,就是每次压栈就相当于将元素放在链表头部,即栈顶指针元素相当于链表中的首节点;
因此每次插入一个,都需要将插入前的栈顶结点赋值给新节点的next结点属性;
每次弹栈,都需要将top的next指向元素置为top元素;
下面上代码:
class Node {
Node next;
Object element;
public Node(Node next, Object element) {
this.next = next;
this.element = element;
}
public