栈和队列的实现

用栈实现队列

1.分析

2.代码

java 复制代码
class MyQueue {
      private Stack<Integer> s1;
      private Stack<Integer> s2;
    public MyQueue() {
      s1 = new Stack<>();
      s2 = new Stack<>();
    }
    
    public void push(int x) {
        s1.push(x);
    }
    
    public int pop() {
        if(empty()){
            return -1;
        }
        if(s2.empty()){
            while(!s1.empty()){
                s2.push(s1.pop());
            }
        }
       return s2.pop();
    }
    
    public int peek() {
         if(empty()){
            return -1;
        }
        if(s2.empty()){
            while(!s1.empty()){
                s2.push(s1.pop());
            }
        }
        return s2.peek();
    }
    
    public boolean empty() {
     return s1.empty()&&s2.empty();
    }
}

/**
 * Your MyQueue object will be instantiated and called as such:
 * MyQueue obj = new MyQueue();
 * obj.push(x);
 * int param_2 = obj.pop();
 * int param_3 = obj.peek();
 * boolean param_4 = obj.empty();
 */
相关推荐
东北赵四8 分钟前
JVM实践(调优)
java·jvm
wen__xvn8 分钟前
代码随想录算法训练营DAY1第一章 数组part01
数据结构·算法·leetcode
kevin_水滴石穿9 分钟前
C#获取程序集和文件版本
开发语言·c#
we1less11 分钟前
[audio] AudioTrack (五) 共享内存创建分析
android·java·开发语言
一 乐12 分钟前
景区管理|基于springboot + vue景区管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·学习
爱编码的傅同学13 分钟前
【程序地址空间】页表的映射方式
c语言·数据结构·c++·算法
幽络源小助理13 分钟前
SpringBoot+Vue大型商场应急预案管理系统源码 | Java安全类项目免费下载 – 幽络源
java·vue.js·spring boot
lbb 小魔仙14 分钟前
【Java】Spring Boot 与 Spring Cloud 整合:微服务架构入门实战
java·spring boot·spring cloud·架构
傻啦嘿哟15 分钟前
实战:用GraphQL接口高效采集数据
开发语言·驱动开发·php
JIngJaneIL15 分钟前
基于java + vue连锁门店管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot