您的位置:首页 > 职场人生

用两个栈实现队列

2016-04-28 22:56 393 查看
解题思路:

入队时,将元素压入s1。

出队时,将s1的元素逐个“倒入”(弹出并压入)s2,将s2的顶元素弹出作为出队元素,之后再将s2剩下的元素逐个“倒回”s1。



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() {
while(!stack1.empty()){
stack2.push(stack1.pop());
}
int val = stack2.pop();
while(!stack2.empty()){
stack1.push(stack2.pop());
}
return val;

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法面试题