小工具知识网

当前位置: 首页 > 行业知识 > 【LeetCode:232. 用栈实现队列 + 栈 | 队列】

行业知识

【LeetCode:232. 用栈实现队列 + 栈 | 队列】

2026-11-09 12:51:43 来源:互联网转载
算法题

���法刷题专栏 | 面试必备算法 | 面试高频算法

越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨

作者简介:硕风和炜,CSDN-Java领域优质创作者,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享

恭喜你发现一枚宝藏博主,赶快收入囊中吧

人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?

算法题

目录

    • 题目链接
    • ⛲ 题目描述
    • 求解思路&实现代码&运行结果
      • ⚡ 栈 | 队列
        • 求解思路
        • 实现代码
        • 运行结果
        • 共勉

          题目链接

          • 232. 用栈实现队列

            ⛲ 题目描述

            请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):

            实现 MyQueue 类:

            • void push(int x) 将元素 x 推到队列的末尾
            • int pop() 从队列的开头移除并返回元素
            • int peek() 返回队列开头的元素
            • boolean empty() 如果队列为空,返回 true ;否则,返回 false

              说明:

              你 只能 使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法的。

              你所使用的语言也许不支持栈。你可以使用 list 或者 deque(双端队列)来模拟一个栈,只要是标准的栈操作即可。

              示例 1:

              输入:

              [“MyQueue”, “push”, “push”, “peek”, “pop”, “empty”]

              [[], [1], [2], [], [], []]

              输出:

              [null, null, null, 1, 1, false]

              解释:

              MyQueue myQueue = new MyQueue();

              myQueue.push(1); // queue is: [1]

              myQueue.push(2); // queue is: [1, 2] (leftmost is front of the queue)

              myQueue.peek(); // return 1

              myQueue.pop(); // return 1, queue is [2]

              myQueue.empty(); // return false

              提示:

              1 Stack stack1=new Stack stack1.push(x); } public int pop() { while(!stack1.empty()){ stack2.push(stack1.pop()); } int temp=stack2.pop(); while(!stack2.empty()){ stack1.push(stack2.pop()); } return temp; } public int peek() { while(!stack1.empty()){ stack2.push(stack1.pop()); } int temp=stack2.peek(); while(!stack2.empty()){ stack1.push(stack2.pop()); } return temp; } public boolean empty() { return stack1.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(); */

上一篇:解决URL请求超时问题,实用方法与技巧全解析

下一篇:宝塔面板怎么启动设置?