栈一:用两个栈实现队列

/**
 * 题目:用两个栈实现队列
 * 描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
 * 解决方案:方法一:一个作为存储用,一个作为弹出用
 * */

public class One {
    
    Stack<Integer> stack1 = new Stack<>();
    Stack<Integer> stack2 = new Stack<>();
    public void push(int node) {
        stack1.push(node);
    }
    
    public int pop() {
        if (stack1.isEmpty() && stack2.isEmpty()) {
            throw new RuntimeException("Empty");
        }else {
            if(stack2.isEmpty()) {
                while(!stack1.isEmpty()) {
                    stack2.push(stack1.pop());
                }
            }
        }
        return stack2.pop();
    }        
}

猜你喜欢

转载自www.cnblogs.com/ZeGod/p/9969398.html
今日推荐