Min Stack LeetCode solution in C++

1
class MinStack {
2
public:
3
stack<int> stk;
4
stack<int> minstk;
5

6
MinStack() {
7
// leave empty because we don't need to initialise an object while it being
8
// created
9
}
10

11
void push(int val) {
12
//---------------Push in original stack------------------------------
13
stk.push(val);
14
//-------Put always minimum element to MIN stack--------------
15
if (minstk.size() == 0)
16
minstk.push(val);
17
else {
18
if (minstk.top() < val)
19
minstk.push(minstk.top());
20
else
21
minstk.push(val);
22
}
23
}
24

25
void pop() {
26
stk.pop();
27
minstk.pop();
28
}
29

30
int top() {
31
return stk.top();
32
}
33

34
int getMin() {
35
return minstk.top();
36
}
37
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0