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

用两个栈实现队列

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();
        }
    }
全部评论

相关推荐

点赞 评论 收藏
分享
03-02 08:18
集美大学 Java
钱嘛数字而已:没有赛事奖项么?另外,项目经历字有点多哈,建议突出一下重点:用的什么技术,解决什么问题,达到什么效果。
大家都开始春招面试了吗
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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