LeetCode 225. 用队列实现栈


add方法在添加元素失败时会抛出异常,
而offer方法则返回一个布尔值来指示操作是否成功。
使用offer方法允许程序在添加失败时进行其他操作而不是直接抛出异常。这在某些情况下可以提供更灵活的错误处理方式。

class MyStack{ Queue queue; public MyStack() { queue = new LinkedList<>(); } //往队列加入数字 //调用这个方法的时间复杂度是O(n),每次都要进行n个数字的出队入队 public void push(int x){ int n = queue.size(); queue.offer(x);//往队列加入数字 for (int i = 0; i < n; i++) { queue.offer(queue.poll());//从队列弹出的数再从后面加入队列 } } //弹出 public int pop(){ return queue.poll(); } //返回队列首元素但是不弹出 public int peek(){ return queue.peek(); } public boolean empty(){ return queue.isEmpty(); } } 