본문 바로가기

C

c++ leetcode 155 Min Stack solution (double stack)

code >>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class MinStack {
public:
    /** initialize your data structure here. */
    vector<int> real_vector;
    vector<int> save_min_vector;
    MinStack() {
       
    }
 
    void push(int val) {
        real_vector.push_back(val);
        if (save_min_vector.empty() || save_min_vector.back() >= val)
            save_min_vector.push_back(val);
        
    }
 
    void pop() {
        
        if (real_vector.back() == save_min_vector.back())
        {
            save_min_vector.pop_back();
        }
        real_vector.pop_back();
       
    }
 
    int top() {
        return real_vector.back();
    }
 
    int getMin() {
        return save_min_vector.back();
    }
 
};