代码随想录算法训练营第十天 | LeetCode232. 用栈实现队列、LeetCode 225. 用队列实现栈
)
LeetCode232. 用栈实现队列
class MyQueue {
Stack<Integer> stackIn;
Stack<Integer> stackOut;
public MyQueue() {
stackIn = new Stack<>();
stackOut = new Stack<>();
}
public void push(int x) {
stackIn.push(x);
}
public int pop() {
dumpstackIn();
return stackOut.pop();
}
public int peek() {
dumpstackIn();
return stackOut.peek();
}
public boolean empty() {
return stackIn.isEmpty() && stackOut.isEmpty();
}
public void dumpstackIn(){
if(stackOut.isEmpty()){
while(!stackIn.isEmpty()) {
stackOut.push(stackIn.pop());
}
}
}
}
LeetCode 225. 用队列实现栈
class MyStack {
Deque<Integer> myDeque1;
public MyStack() {
myDeque1 = new LinkedList<>();
}
public void push(int x) {
int n = myDeque1.size();
myDeque1.offer(x);
while(n-- >0){
myDeque1.offer(myDeque1.poll());
}
}
public int pop() {
return myDeque1.poll();
}
public int top() {
return myDeque1.peek();
}
public boolean empty() {
return myDeque1.isEmpty();
}
}
慢慢享受吧
函数的复用
妈的, 基础操作原来是这个意思