栈
栈(Stack)
栈是一种特殊的线性表,只能在一端进行操作
往栈中添加元素的操作,一般叫做 push,入栈
从栈中移除元素的操作,一般叫做 pop,出栈(只能移除栈顶元素,也叫做:弹出栈顶元素)
后进先出的原则,Last In First Out,LIFO

接口设计
public interface Stack<E> {
    /**
     * 清除所有元素
     */
    void clear();
    /**
     * 元素的数量
     * @return
     */
    int size();
    /**
     * 是否为空
     * @return
     */
    boolean isEmpty();
    
    /**
     * 入栈
     * @return
     */
    void push(E element); 
    
     /**
     * 出栈
     * @return
     */
     E pop();
    /**
     * 获取栈顶元素
     * @return
     */
     E top();
}
栈的内部实现是可以直接利用以前学过的数据结构动态数组或链表
栈的应用 – 浏览器的前进和后退

作业与练习
练习 - 有效的括号
https://leetcode-cn.com/problems/valid-parentheses/solution/


作业