1、栈 1.1 栈的拓展应用 案例1 求栈最小值 一个数组序列,不断压栈,可以询问栈内最小值,且push、pop、peek、query(找最小)都是o(1)。 解法;维护本身栈的同时,维护一个min栈,当前数小于min栈栈顶,那么就插入min栈顶。 否则再插入一个min栈栈顶元素。 案例2 使用栈得到队列结构 维护push 和 pop 两个栈。插入的话就放到push栈。 pop时,假设pop栈为空,那么把push栈的值全部放到pop栈;否则,也就是pop栈不为空,那么就在pop栈出栈。