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

用两个栈实现队列

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

import java.util.Stack;

public class Solution { Stack stack1 = new Stack();//创建栈1 Stack stack2 = new Stack();//创建栈2

//使用两个栈实现队列,
//方法思想:插入数据时插入在栈1;弹出数据时,在栈2中弹出数据,如果栈2为空,先从栈1弹出数据,并将数据插入栈2中,然后在栈2中弹出数据

//插入外部数据时,插入在栈1中
public void push(int node) {
    stack1.push(node);
}

//弹出数据时,数据是从栈2中弹出
public int pop() {
    //如果栈2为空,先从栈1弹出数据,并将数据插入栈2中,然后在栈2中
    if(stack2.isEmpty()){
        while(!stack1.isEmpty()){
            stack2.push(stack1.pop());
        }
    }
    
    return stack2.pop();//从栈2中弹出数据
}

}

全部评论

相关推荐

01-12 17:45
门头沟学院 Java
叁六玖:这样的应该钱不多,以前我也被问,我在问他们实习公工资多少,一般都是2200-2800
找实习记录
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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