"isEmpty"]
[[1], [0, 1], [0, 2], [0], [0], [0], [0]]
输出:
[null, null, null, 1, -1, -1, true]
说明:当栈为空时...stack,93.2%,24ms
//将最小值用一个另外的栈来保存,节省点内存也避免了新数据结构的定义
public:
stack s;
stack buf;//最小值栈...当某个栈为空时,应当删除该栈。
当栈中没有元素或不存在该栈时,pop,popAt 应返回 -1....解法一
//不使用STL,设置空闲链表,93.0%,60ms
//每个栈都是双向链表方便操作
//删除空栈时改为将空栈存入空闲链表中
//申请栈时先尝试从空闲链表分配,加速内存分配...最多只能使用一个其他的临时栈存放数据,但不得将元素复制到别的数据结构(如数组)中。该栈支持如下操作:push、pop、peek 和 isEmpty。当栈为空时,peek 返回 -1。