题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
/** 1.dataStack为存储数据的栈,minStack为存储最小值的栈;* 2.push的时候将value值与minStack中的top值比较,小则minStack push value,大则push top值*/class Solution {
public:
stack<int> dataStack,minStack;
void push(int value) {
dataStack.push(value);
if(minStack.empty()){
minStack.push(value);
}
else {
int min=minStack.top();
value<=min?minStack.push(value):minStack.push(min);
}
}
void pop() {
dataStack.pop();
minStack.pop();
}
int top() {
return dataStack.top();
}
int min() {
return minStack.top();
}
};
拥抱明天!
不给自己做枷锁去限制自己。
别让时代的悲哀,成为你人生的悲哀。

浙公网安备 33010602011771号