标签:
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
Example:
MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack.getMin(); --> Returns -3. minStack.pop(); minStack.top(); --> Returns 0. minStack.getMin(); --> Returns -2.
Subscribe to see which companies asked this question
c++ code:
class MinStack { public: void push(int x) { S.push(x); if(!minS.empty()) x = x < minS.top()? x:minS.top(); minS.push(x); } void pop() { if(!S.empty()) S.pop(); minS.pop(); } int top() { return S.top(); } int getMin() { return minS.top(); } private: stack<int> S,minS; };
标签:
原文地址:http://blog.csdn.net/itismelzp/article/details/51331548