232.用栈实现队列
题目链接:232. 用栈实现队列 - 力扣(LeetCode)
class MyQueue {
int size;
Deque<Integer> dq1;
Deque<Integer> dq2;
public MyQueue() {
dq1 = new LinkedList<Integer>();
dq2 = new LinkedList<>();
size = 0;
}
public void push(int x) {
while(!dq1.isEmpty()) {
dq2.addLast(dq1.pollLast());
}
dq1.add(x);
while(!dq2.isEmpty()) {
dq1.addLast(dq2.pollLast());
}
++size;
}
public int pop() {
--size;
return dq1.pollLast();
}
public int peek() {
return dq1.peekLast();
}
public boolean empty() {
return size == 0;
}
}
225.用队列实现栈
题目链接:225. 用队列实现栈 - 力扣(LeetCode)
class MyStack {
Deque<Integer> dq;
int size;
public MyStack() {
size = 0;
dq = new LinkedList<>();
}
public void push(int x) {
int a = size;
dq.addLast(x);
while(a != 0) {
--a;
dq.addLast(dq.pollFirst());
}
++size;
}
public int pop() {
--size;
return dq.pollFirst();
}
public int top() {
return dq.peekFirst();
}
public boolean empty() {
return size == 0;
}
}