【用队列实现栈】【用栈实现队列】Leetcode 232 225

这篇具有很好参考价值的文章主要介绍了【用队列实现栈】【用栈实现队列】Leetcode 232 225。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

---------------🎈🎈题目链接 用队列实现栈🎈🎈-------------------
---------------🎈🎈题目链接 用栈实现队列🎈🎈-------------------

【用队列实现栈】【用栈实现队列】Leetcode 232 225,Leetcode,leetcode,算法,职场和发展,java,排序算法
【用队列实现栈】【用栈实现队列】Leetcode 232 225,Leetcode,leetcode,算法,职场和发展,java,排序算法文章来源地址https://www.toymoban.com/news/detail-807762.html

队列的相关操作

创建队列
Queue<Integer> myqueue = new LinkedList<>();
添加元素
myqueue.add();
队列最初的元素
myqueue.peek();
队列弹出元素:
myqueue.poll();
队列大小
myqueue.size();
队列是否为空
myqueue.isEmpty();

栈的相关操作

创建栈
Stack<Integer> mystack = new Stack<>();
添加元素
mystack.push();
栈顶元素
mystack.peek();
弹出栈顶元素:
mystack.pop();
栈大小
mystack.size();
栈是否为空
mystack.isEmpty();

用队列实现栈

class MyStack {
    Queue<Integer> myqueue;

    public MyStack() {
        myqueue = new LinkedList<>();
    }
    
    public void push(int x) {
        myqueue.add(x);
    }
    
    public int pop() {
        for(int i = 0; i < myqueue.size()-1; i++){
            myqueue.add(myqueue.poll());
        }
        return myqueue.poll();
    }
    
    public int top() {
        int top;
        for(int i = 0; i < myqueue.size()-1; i++){
            myqueue.add(myqueue.poll());
        }
        top = myqueue.peek();
        myqueue.add(myqueue.poll());
        return top;
    }
    
    public boolean empty() {
        if(myqueue.isEmpty()){
            return true;
        }
        else return false;
    }
}

/**
 * Your MyStack object will be instantiated and called as such:
 * MyStack obj = new MyStack();
 * obj.push(x);
 * int param_2 = obj.pop();
 * int param_3 = obj.top();
 * boolean param_4 = obj.empty();
 */

           
    

用栈实现队列

class MyQueue {

    Stack<Integer> mystackin;
    Stack<Integer> mystackout;

    public MyQueue() {
        mystackin = new Stack<>();
        mystackout = new Stack<>();
    }
    
    public void push(int x) {
        while(!mystackout.isEmpty()){
            mystackin.push(mystackout.pop());
        }
        mystackin.push(x);
    }
    
    public int pop() {
        while(!mystackin.isEmpty()){
            mystackout.push(mystackin.pop());
        }
        return mystackout.pop();
    }
    
    public int peek() {
        while(!mystackin.isEmpty()){
            mystackout.push(mystackin.pop());
        }
        return mystackout.peek();

    }
    
    public boolean empty() {
        if(mystackin.isEmpty() && mystackout.isEmpty()){
            return true;
        }
        else return false;

    }
}

/**
 * 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();
 */

到了这里,关于【用队列实现栈】【用栈实现队列】Leetcode 232 225的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【leetcode】232. 用栈实现队列

    1.使用两个栈结构构建队列 我们需要自定义栈及其相关操作 栈结构遵循后入先出的原则,队列结构遵循先入先出的原则 构建具有两个栈结构的队列,栈pushST用于数据的插入,栈popST用于数据的删除 为栈结构动态开辟空间并初始化栈结构 2.入队操作 模拟入队操作,即将所有元

    2024年02月12日
    浏览(43)
  • leetcode 232.用栈实现队列

    🌟 leetcode链接:用栈实现队列 1️⃣ 思路和图解: push: pop: peek: 和 pop 类似。 代码: ✨ 栈和队列相关接口代码(可复制): 【数据结构】栈和队列

    2024年02月13日
    浏览(38)
  • 【创作赢红包】LeetCode:232. 用栈实现队列

    🍎道阻且长,行则将至。🍓 🌻算法,不如说它是一种思考方式🍀 算法专栏: 👉🏻123 题目描述 :请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列

    2023年04月12日
    浏览(41)
  • 栈和队列OJ题:LeetCode--232.用栈实现队列

    朋友们、伙计们,我们又见面了,今天给大家带来的是LeetCode--232.用栈实现队列 数 据 结 构 专 栏:数据结构 个    人   主    页 :stackY、 LeetCode 专  栏 :LeetCode刷题训练营 LeetCode--232.用栈实现队列:https://leetcode.cn/problems/implement-queue-using-stacks/ 目录 1.题目介绍 2.实例演示

    2024年02月05日
    浏览(49)
  • LeetCode 232.用栈实现队列(详解) (๑•̌.•๑)

    创建两个栈,一个用于入数据,一个用于出数据。分别是pushST和popST; 1.如果是入数据就直接入进pushST 2.如果是出数据,先检查popST中有无数据,如果有数据,就直接出。如果没数据,就将pushST中的数据放进popST中,再从popST中出数据。 当pushST中的数据入到popST时,数据是顺序的

    2024年01月24日
    浏览(41)
  • Leetcode的AC指南 —— 栈与队列:232.用栈实现队列

    摘要: **Leetcode的AC指南 —— 栈与队列:232.用栈实现队列 **。题目介绍:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int

    2024年01月20日
    浏览(42)
  • 第10天-代码随想录刷题训练-第五章 栈和队列- ● 理论基础 ● 232.用栈实现队列 ● 225. 用队列实现栈

    栈和队列对应的三个不同的STL版本,底层实现方式不一样, 为我们所知道的是 SGI STL 栈 栈提供 pop和push等接口, 不提供走访功能 也不提供迭代器, 不像map和set可以使用迭代器遍历,往往不被归类为容器,而是容器适配器 栈的内部实现结构可以使用 verctor、list 和 deque(默认)

    2024年02月04日
    浏览(41)
  • 【LeetCode】225. 用队列实现栈

    思路 要使用一个队列来实现栈的功能。 具体来说,实现了以下几个方法: push(int x):将元素 x 入栈,即将元素 x 插入到队列的末尾。 pop():弹出栈顶元素,即将队列中 除了最后一个元素外 的其他元素 依次弹出并重新入队 ,然后返回最后一个元素。 top():获取栈顶元素,即

    2024年02月12日
    浏览(39)
  • Leetcode225. 用队列实现栈

    请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。 int pop() 移除并返回栈顶元素。 int top() 返回栈顶元素。 boolean empty() 如果栈是空的,返回 true ; 否则,返回 false 。

    2023年04月20日
    浏览(29)
  • 栈和队列OJ题:LeetCode--225.用队列实现栈

     朋友们、伙计们,我们又见面了,今天给大家带来的是LeetCode--225.用队列实现栈 数 据 结 构 专 栏:数据结构 个    人   主    页 :stackY、 LeetCode 专  栏 :LeetCode刷题训练营 LeetCode--225.用队列实现栈:https://leetcode.cn/problems/implement-stack-using-queues/ 目录 1.题目介绍 2.实例演

    2024年02月06日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包