题解 | #用两个栈实现队列#

用两个栈实现队列

http://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6

栈的特性是 先进后出,后进先出
队列的特性是 先进先出

栈只要倒一次就能实现和队列一样的效果

public void push(int node) {
    //入队直接入栈1
    stack1.push(node);
}

public int pop() {
 //出队判断栈2是否为空,不为空直接返回,为空将栈1全部入栈2  再返回栈2顶元素
    if(stack2.isEmpty())
    {
        while(!stack1.isEmpty())
        {
            stack2.push(stack1.pop());
        }
    }
    return stack2.pop();
}
全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务