小工具知识网

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

行业知识

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

2026-11-05 07:27:09 来源:互联网转载
算法题

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

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

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

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

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

算法题

目录

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

          题目链接

          • 225. 用队列实现栈

            ⛲ 题目描述

            请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。

            实现 MyStack 类:

            void push(int x) 将元素 x 压入栈顶。

            int pop() 移除并返回栈顶元素。

            int top() 返回栈顶元素。

            boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。

            注意:

            你只能使用队列的基本操作 —— 也就是 push to back、peek/pop from front、size 和 is empty 这些操作。

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

            示例:

            输入:

            [“MyStack”, “push”, “push”, “top”, “pop”, “empty”]

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

            输出:

            [null, null, null, 2, 2, false]

            解释:

            MyStack myStack = new MyStack();

            myStack.push(1);

            myStack.push(2);

            myStack.top(); // 返回 2

            myStack.pop(); // 返回 2

            myStack.empty(); // 返回 False

            提示:

            1 private Queue queue1 = new LinkedList queue2.offer(x); while (!queue1.isEmpty()) { queue2.offer(queue1.poll()); } Queue return queue1.poll(); } public int top() { return queue1.peek(); } public boolean empty() { return queue1.isEmpty(); }}

上一篇:轻松下载Cold的方法指南

下一篇:fruit英语怎么读语音?