阅读量:0
文章目录
题目
LeetCode 225. 用队列实现栈
思路
问题总结
导包有问题,java提供的有关队列的方法不能调用。
queue.add()和queue.offer(n),这两个方法有什么区别
add方法在添加元素失败时会抛出异常,
而offer方法则返回一个布尔值来指示操作是否成功。
使用offer方法允许程序在添加失败时进行其他操作而不是直接抛出异常。这在某些情况下可以提供更灵活的错误处理方式。
什么叫用LinkedList实现队列
代码
class MyStack{ Queue<Integer> 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(); } }