用两个栈来实现队列

用两个栈实现队列

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

import java.util.Stack;

public class Solution {
Stack<integer> stack1 = new Stack<integer>();
Stack<integer> stack2 = new Stack<integer>();</integer></integer></integer></integer>

public void push(int node) {
    while( !stack1.isEmpty()) {
        stack2.push(stack1.pop());
    }
    stack1.push(node);
    while( !stack2.isEmpty()) {
        stack1.push(stack2.pop());
    }
}

public int pop() {
    return stack1.pop();
}

}

利用一个栈来颠倒入栈顺序

全部评论
你好,我还是对你这个有点儿疑问,你在存元素时,先将栈1元素存到栈2,这时栈2元素假如出栈是正确的顺序,然后你将新元素存入栈1,然后又将栈2元素又存入栈1,那么这是调用pop方法时,岂不是取出的是没有加入新元素的队列中最后一个吗?我对此有困惑
点赞 回复 分享
发布于 2020-09-24 18:52

相关推荐

05-07 17:58
门头沟学院 Java
wuwuwuoow:1.简历字体有些怪怪的,用啥写的? 2.Redis 一主二从为什么能解决双写一致性? 3.乐观锁指的是 SQL 层面的库存判断?比如 stock > 0。个人认为这种不算乐观锁,更像是乐观锁的思想,写 SQL 避免不了悲观锁的 4.奖项证书如果不是 ACM,说实话没什么必要写 5.逻辑过期时间为什么能解决缓存击穿问题?逻辑过期指的是什么 其实也没什么多大要改的。海投吧
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
6
收藏
分享

创作者周榜

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