225. Implement Stack using Queues
题目链接:https://leetcode.cn/problems/implement-stack-using-queues/
2 代码实现
class MyStack {
Deque<Integer> deque;
int size;
public MyStack() {
deque = new LinkedList<>();
size = 0;
}
public void push(int x) {
deque.addLast(x);
size++;
}
public int pop() {
if (size > 0){
int ans = deque.getLast();
deque.removeLast();
size--;
return ans;
}
return -1;
}
public int top() {
if (size > 0){
return deque.getLast();
}
return -1;
}
public boolean empty() {
if (size > 0) return false;
else return true;
}
}
232. Implement Queue using Stacks
题目链接:https://leetcode.cn/problems/implement-queue-using-stacks/
2 代码实现
class MyQueue {
Stack<Integer> stack;
int size;
public MyQueue() {
stack = new Stack<>();
}
/**
* 将元素放在队列的尾部
*
* @param x
*/
public void push(int x) {
stack.push(x);
size++;
}
/**
* 将队列首部元素弹出
*
* @return
*/
public int pop() {
if (size > 0) {
int ans = stack.get(0);
stack.remove(0);
size--;
return ans;
}
return -1;
}
/**
* 将队列首部元素返回
*
* @return
*/
public int peek() {
if (size > 0){
return stack.get(0);
}
return -1;
}
/**
* 判断队列是否为空
*
* @return
*/
public boolean empty() {
if (size > 0) return false;
else return true;
}
}
/**
* Your MyQueue object will be instantiated and called as such:
* MyQueue obj = new MyQueue();
* obj.push(x);
* int param_2 = obj.pop();
* int param_3 = obj.peek();
* boolean param_4 = obj.empty();
*/