栈和队列的实现

用栈实现队列

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();
 */
相关推荐
mygljx1 分钟前
Spring Boot从0到1 -day02
java·spring boot·后端
程序员小郭834 分钟前
Spring Ai 04 解决 ChatClient 初始化冲突问题
java·后端·spring
y = xⁿ6 分钟前
【LeetCodehot100】T114:二叉树展开为链表 T105:从前序与中序遍历构造二叉树
java·算法·链表
SuniaWang7 分钟前
《Spring AI + 大模型全栈实战》学习手册系列 · 专题八:《RAG 系统安全与权限管理:企业级数据保护方案》
java·前端·人工智能·spring boot·后端·spring·架构
南 阳30 分钟前
Python从入门到精通day56
开发语言·python
博界IT精灵32 分钟前
王道书3.4.3:特殊矩阵的压缩存储
数据结构·考研·矩阵
xiaohe0733 分钟前
Maven Spring框架依赖包
java·spring·maven
m0_5698814736 分钟前
C++中的组合模式高级应用
开发语言·c++·算法
m0_7301151141 分钟前
高性能计算负载均衡
开发语言·c++·算法
孞㐑¥1 小时前
算法—记忆化搜索
开发语言·c++·经验分享·笔记·算法