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

用两个栈实现队列

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

不同于官方题解的小白题解

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

        public void push(int node) {
            if (stack2.isEmpty()) {
                stack1.push(node);
                stack2.push(node);
            } else {
                int count = 0;
                while (!stack2.isEmpty()) {
                    stack1.push(stack2.pop());
                    count++;
                }
                stack2.push(node);
                while (count != 0) {
                    stack2.push(stack1.pop());
                    count--;
                }
                stack1.push(node);
            }
        }

        public int pop() {
            return stack2.pop();
        }
    }
全部评论

相关推荐

太难了,双9bg也被刷
投递韶音科技等公司10个岗位
点赞 评论 收藏
分享
06-07 00:00
已编辑
腾讯_后端开发
点赞 评论 收藏
分享
07-22 11:35
门头沟学院 Java
谁知道这是为什么吗,有没有懂的佬给讲讲
理智的小饼干又熬夜了:鹅打电话问我参不参加后台提前批,说是有的但还没放官网
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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