LeetCode232.用栈实现队列
题目链接
视频讲解
自己实现
class MyQueue {
public:
stack<int> stIn;
stack<int> stOut;
MyQueue() {
}
void push(int x) {
stIn.push(x);
}
int pop() {
int temp;
if(empty()) return -1;
if(!stOut.empty()){
temp = stOut.top();
stOut.pop();
return temp;
}
while(!stIn.empty()) {
int temp = stIn.top();
stOut.push(temp);
stIn.pop();
}
temp = stOut.top();
stOut.pop();
return temp;
}
int peek() {
int temp = pop();
stOut.push(temp);
return stOut.top();
}
bool empty() {
return stIn.empty() && stOut.empty();
}
};
LeetCode225. 用队列实现栈
题目链接
视频讲解
自己实现
class MyStack {
public:
queue<int> que;
MyStack() {
}
void push(int x) {
que.push(x);
}
int pop() {
int size = que.size();
int temp;
while(--size) {
temp = que.front();
que.pop();
que.push(temp);
}
temp = que.front();
que.pop();
return temp;
}
int top() {
return que.back();
}
bool empty() {
return que.empty();
}
};