aboutsummaryrefslogtreecommitdiff
path: root/implement_queue_stacks.cpp
blob: 551ce9f9ab5953cecb3fc50b77a667d51b20f62f (plain)
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
#include "leetcode.h"

class MyQueue {
public:
  stack<int> input, output;
  void push(int x) { input.push(x); }
  int pop() {
    int x = output.top();
    peek();
    return x;
  }
  int peek() {
    if (output.empty())
      while (input.size())
        output.push(input.top()), input.pop();
    return output.top();
  }
  bool empty() { return input.empty() && output.empty(); }
};

int main() {
  MyQueue *obj = new MyQueue();
  obj->push(2);
  int param_2 = obj->pop();
  int param_3 = obj->peek();
  bool param_4 = obj->empty();
  cout << param_2 << endl << param_3 << endl;
  if (param_4)
    cout << "true";
  else
    cout << "endl";
}