栈和队列的实现

用栈实现队列

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();
 */
相关推荐
@大迁世界3 分钟前
6 款轻量级 CLI 工具,取代了我臃肿的开发软件
开发语言·lua
handler015 分钟前
算法:Trie树(字典树)
c语言·数据结构·c++·笔记·算法·深度优先
不漫游6 分钟前
Web聊天室测试报告
java
6+h10 分钟前
【Redis】数据结构讲解
数据结构·数据库·redis
阿Y加油吧10 分钟前
力扣打卡day06——滑动窗口最大值、最小覆盖子串
数据结构·算法·leetcode
沉鱼.4411 分钟前
日期题目集
数据结构·算法
MegaDataFlowers12 分钟前
依赖注入(DI)
java·开发语言
csbysj202013 分钟前
Foundation 输入框尺寸指南
开发语言
码云数智-园园15 分钟前
Tailwind CSS vs. 传统CSS/Sass:2026年前端样式开发的深度博弈
开发语言
lly20240618 分钟前
《jEasyUI 创建 XP 风格左侧面板》
开发语言