剑指offer—11.8—Stack栈

时间:2022-06-05 17:40:24

剑指offer—11.8—Stack栈

1 栈的定义

“栈”通常是指“后进先出”(LIFO)的容器,也被称为叠加栈,因为最后“压入”站点元素,第一个“弹出”栈。
LinkedList具有能够直接实现栈的所有功能的方法,因此可以直接将LinkedList作为栈使用。

2 栈的API

package net.mindview.util;
import java.util.LinkedList;
public class Stack<T>{
    private LinkedList<T> storage = new LinkedList<T>();
    public void push(T v) {
        storage.addFirst(v);
    }
    public T peek() {
        return storage.getFirst();
        //只返回栈顶元素
    }
    public T pop() {
        return storage.removeFirst();
        //移除并返回栈顶元素
    }
    public boolean empty() {
        return storage.isEmpty();
    }
    public String toString() {
        return storage.toString();
    }
}