剑指offer---05---用栈实现队列
Posted buptyuhanwen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer---05---用栈实现队列相关的知识,希望对你有一定的参考价值。
题意
给了两个栈去实现队列
分析
两个栈如下情况
1
2
4 3
这个时候就不能够把4插入到第二个弹出栈了否则弹出顺序出错。
所以这个时候就应该等第二个栈空了的时候再弹出。
代码
import java.util.Stack;
public class Solution {
Stack<Integer> stack1 = new Stack<Integer>();
Stack<Integer> stack2 = new Stack<Integer>();
public void push(int node) {
stack1.push(node);
}
public int pop() {
if(stack2.isEmpty()){
while(!stack1.isEmpty()){
int node = stack1.pop();
stack2.push(node);
}
}
return stack2.pop();
}
}
以上是关于剑指offer---05---用栈实现队列的主要内容,如果未能解决你的问题,请参考以下文章
剑指 Offer(第 2 版)完整题解笔记 & C++代码实现(LeetCode版)