Files
LeetCode/Easy/implement-queue-using-stacks/solution.cpp
Arkaprabha Chakraborty cab1180397 Refactor almost everything
2022-08-02 12:21:43 +05:30

44 lines
850 B
C++

#include <stack>
class MyQueue {
private:
std::stack<int> shelfA;
std::stack<int> shelfB;
public:
MyQueue() {}
void push(int data) { shelfA.push(data); }
int pop() {
while (shelfA.size() != 1) {
shelfB.push(shelfA.top());
shelfA.pop();
}
int result = shelfA.top();
shelfA.pop();
while (!shelfB.empty()) {
shelfA.push(shelfB.top());
shelfB.pop();
}
return result;
}
int peek() {
while (shelfA.size() != 1) {
shelfB.push(shelfA.top());
shelfA.pop();
}
int result = shelfA.top();
while (!shelfB.empty()) {
shelfA.push(shelfB.top());
shelfB.pop();
}
return result;
}
bool empty() { return shelfA.empty(); }
};