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

用两个栈实现队列

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中弹出数据
}

}

全部评论

相关推荐

09-26 21:43
已编辑
重庆邮电大学 Java
Yki_:这简历一看就是雯哥和小傅哥带出来的兵,我简历基本上跟你一模一样
写简历别走弯路
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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