剑指offer——Java实现

面试题7:用两个栈实现队列

2016-10-06  本文已影响24人  _minimal

题目描述

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型

代码实现

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())
            return stack2.pop();
        else{
            while(!stack1.isEmpty())
                stack2.push(stack1.pop());
            return stack2.pop();
        }
    }
}

主要思路

正常入栈就可以了 出栈的时候栈先弹出到另一个栈再从另一个栈弹出来

上一篇 下一篇

猜你喜欢

热点阅读