算法通关:014_1:用栈实现队列

文章目录

题目

用栈实现队列 leetcode :232

总结

时间复杂度

平均下来每个方式是O(1)

代码

java 复制代码
 class MyQueue {
        public Stack<Integer> in;
        public Stack<Integer> out;

        //初始化
        public MyQueue() {
            in = new Stack<>();
            out = new Stack<>();
        }

        //倒数据
        //从in栈 倒入 out栈
            //out栈为空才能倒数据
            //in栈有数据才能倒,且必须全部倒入out栈
        private void inToOut(){
            if(out.empty()){
                while(!in.empty()){//不是空就一直倒
                    out.push(in.pop());//从in里弹出的数据进入out
                }
            }
        }

        //加入数据
        public void push(int x){
            in.push(x);
            inToOut();//加入一个数据你看能不能倒数据,能就倒,不能就啥也不做
        }

        //弹出一个数
        public int pop(){
            inToOut();
            return out.pop();
        }

        //不弹出,返回队列头部
        public int peek(){
           inToOut();
           return out.peek();
        }
        //判空
        public boolean empty(){
            return in.isEmpty() && out.isEmpty();
        }

    }

运行结果

相关推荐
To_OC8 小时前
从一次栈溢出报错说起,我把递归彻底扒明白了
javascript·算法·程序员
千纸鹤安安13 小时前
千问Qwen-AgentWorld来了:一个语言模型搞定七大Agent场景,GPT-5.4都输了
算法
白鲸开源15 小时前
Apache SeaTunnel Zeta Engine 的 Basic Auth 是怎么工作的?
java·vue.js·github
白鲸开源15 小时前
一文读懂DolphinScheduler插件机制:如何轻松扩展任务类型与数据源
java·架构·github
七牛开发者15 小时前
MCP 到底是什么?为什么 Agent 都想接上它
算法·aigc·agent
墨狂之逸才15 小时前
Android TV WebView 遥控器按键处理:从全透传到白名单
android
用户2986985301419 小时前
Java 实现 Word 文档文本查找与高亮标注
java·后端
宇宙之一粟20 小时前
乐企版式文件生成平台
java·后端·python