美文网首页
队列| Leetcode 225

队列| Leetcode 225

作者: 三更冷 | 来源:发表于2023-03-16 19:47 被阅读0次

Leetcode 分类刷题 —— 队列(Queue)

1、题目

Leetcode 225. Implement Stack using Queues

2、思路

始终保证队列a为空,新元素x添加到空队列a中,x就始终在a的队头。
再将另外一个队列b中的数据依次加入到a中,a队列里的元素就保持着先进后出的性质。

3、Java 代码

class MyStack {
    private Queue<Integer> a;//输入队列
    private Queue<Integer> b;//输出队列
    
    public MyStack() {
        a = new LinkedList<>();
        b = new LinkedList<>();
    }
    
    public void push(int x) {
        a.offer(x);
        // 将b队列中元素全部转给a队列
        while(!b.isEmpty())
            a.offer(b.poll());
        // 交换a和b,使得a队列没有在push()的时候始终为空队列
        Queue temp = a;
        a = b;
        b = temp;
    }
    
    public int pop() {
        return b.poll();
    }
   
    public int top() {
        return b.peek();
    }
    
    public boolean empty() {
        return b.isEmpty();
    }
}

参考文章:
https://leetcode.cn/problems/implement-stack-using-queues/comments/

相关文章

网友评论

      本文标题:队列| Leetcode 225

      本文链接:https://www.haomeiwen.com/subject/xoelldtx.html