算法通关:014_2:用队列实现栈

avatar
作者
筋斗云
阅读量: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();         }     } 

结果

在这里插入图片描述

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!