目录 一、什么是栈? 二、顺序栈 2.1 顺序栈的一些应用 2.1.1 括号匹配 2.1.2 最小栈 三、链栈 3.1 链栈的一些应用 3.1.1 合法出栈序列 四、LeetCode实战 4.1 LeetCode#71——简化路径 4.2 LeetCode#735——行星碰撞 4.3 LeetCode#143——重排链表 一、什么是栈? 栈是一种只能在同一端进行插入/删除操作的线性表。表中允许进行插入/删除操作的一端称为栈顶。栈顶的当前位置是动态的,可以用一个称为栈顶指针的位置指示器来指示。表的另一端称为栈底。当栈中没有元素时称为空栈。栈的插入操作通常称为进栈或入栈,栈的删除操作通常称为出栈或退栈。 栈的一大特点是 LIFO,即 Last In First Out。 抽象数据类型栈的定义如下: 数据对象: D