栈, push() pop() peek() 全部O(1)
- 利用栈暂且保存信息 (min stack)
- 栈翻转的应用 (two stack to implment a queue)'
- 栈优化dfs,变成非递归 (应用1和2)subset and permutation
单调栈
用途: 找每个元素左边或右边第一个比它大或小的元素
Largest Rectangle in Histogram
Max Tree
Expression Tree Build (give a priority level and find the first smaller on left and right)