【算法刷题day9】Leetcode:232.用栈实现队列、225. 用队列实现栈-Leetcode 225. 用队列实现栈

时间:2024-03-30 12:42:48

题目:225. 用队列实现栈
解析:代码随想录解析

解题思路

每次使用一个辅助队列来存储后入元素,然后把队列元素插入辅助队列中,再对换索引。

代码

class MyStack {

    Queue<Integer> queue1;
    Queue<Integer> queue2;

    public MyStack() {
       queue1 = new LinkedList<>();
       queue2 = new LinkedList<>();
    }
    
    public void push(int x) {
        queue2.offer(x);
        while(!queue1.isEmpty()){
            queue2.offer(queue1.poll());
        }
        Queue<Integer> queueTmp = queue1;
        queue1 = queue2;
        queue2 = queueTmp;
    }
    
    public int pop() {
        return queue1.poll();
    }
    
    public int top() {
        return queue1.peek();
    }
    
    public boolean empty() {
        return queue1.isEmpty();
    }
}

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

总结

暂无

相关文章