栈:先进后出 队列:先进先出
S.top(): 取出栈顶
S.empty(): 判断栈是否为空
S.push(x): 讲x添加至栈
S.pop():弹出栈顶
S.size():栈的储存元素个数
S.peek(): 查看栈顶但不删除
Q.size(): 返回队列的储存元素的个数
Q.empty(): 判断队列是否为空
Q.front(): 返回队列头部元素
Q.back(): 返回队列尾部元素
Q.pop(): 弹出队列头部元素
Q.push(x): 将x添加至队列
LeetCode155 getMin 最小栈
栈的每一个状态都需要一个变量记录最小值,引用一个新的栈,用每一个栈顶元素记录每一个状态下的最小值。LeetCode224 简单计算器
用两个栈,数字栈和操作符栈来处理计算的优先级。
使用一个变量来记录是否可以计算,当遇到“+-”可以计算,遇到“(”不能计算
二叉堆
big_heap.empty(): 判断堆是否为空
big_heap.pop(): 弹出堆顶元素(最大值)
big_heap.push(x): 将元素x添加至二叉堆
big_heap.top(): 返回堆顶元素(最大值)
big_heap.size(): 返回堆中元素个数
-LeetCode215 数组中的第k个最大元素
遍历原数组的指添加到堆中,直到堆中的元素大于k时,讲顶端的元素去掉,因为是最小堆,去掉的元素就是堆中的最小值