美文网首页
用两个栈实现队列

用两个栈实现队列

作者: 远o_O | 来源:发表于2017-08-11 11:02 被阅读8次
    • 入队:将元素进栈A
    • 出队:判断栈B是否为空,如果为空,则将栈A中所有元素pop,并push进栈B,栈B出栈; 如果不为空,栈B直接出栈。
    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(stack1.empty() && stack2.empty()){
                throw new RuntimeException("gun");
            }
            
            if(stack2.empty()){
                while(!stack1.empty()){
                    stack2.push(stack1.pop());
                }
            }
            
            return stack2.pop();
        }
    }
    

    相关文章

      网友评论

          本文标题:用两个栈实现队列

          本文链接:https://www.haomeiwen.com/subject/adrlrxtx.html