当前位置: 首页 > news >正文

LeetCode[225]用队列实现栈

思路:

题目中说可以给我们两个队列来实现,但其实一个队列就可以实现了,poll的时候就是栈头,也就是队尾元素,那么我们如何获得队尾元素,我们直接让队尾前面的元素重新入队不就完了嘛!找栈顶元素和找队尾元素是一样的,一样的操作

class MyStack {Queue<Integer> queue;public MyStack() {queue = new LinkedList<>();}public void push(int x) {queue.add(x);}public int pop() {int size = queue.size();size--;while (size-- > 0) {queue.add(queue.poll());}return queue.poll();}public int top() {int size = queue.size();size--;while (size-- > 0) {queue.add(queue.poll());}int result = queue.poll();queue.add(result);return result;}public boolean empty() {return queue.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();*/

 

http://www.dtcms.com/a/145142.html

相关文章:

  • LeetCode 每日一题 2563. 统计公平数对的数目
  • WEMOS LOLIN32
  • python之计算平面曲线离散点的曲率
  • vivo把三颗「主摄」放进了手机
  • cpp知识章节
  • SpringAI系列 - MCP篇(一) - 什么是MCP
  • VitePress搭建-接入giscus的注意事项。
  • 第十章 继承与派生
  • PCL库开发入门
  • 【C++】win 10 / win 11:Dev-C++ 下载与安装
  • 域名解析,配置Linux系统的固定IP地址
  • 大模型应用开发自学笔记
  • 右起第2个LED灯的闪烁(STC89C52单片机)
  • 车载测试用例开发-如何平衡用例覆盖度和测试效率的方法论
  • SpringBoot Actuator健康检查:自定义HealthIndicator
  • MySQL完整版进阶及附录
  • Linux 420 find stat touch tree scp crontab
  • 【去哪儿网】登录滑块逆向算法AES加密分析(逆天滑块轨迹)
  • C++学习:六个月从基础到就业——内存管理:RAII原则
  • 【重走C++学习之路】14、多态
  • Oracle高级语法篇 - 用户与角色关系
  • 【中级软件设计师】语言处理程序(汇编程序、解释程序、编译程序)附软考真题
  • Java表达式2.0
  • 【中间件】redis使用
  • 【第三十二周】CLIP 论文阅读笔记
  • 计算机视觉与深度学习 | RNN原理,公式,代码,应用
  • 在 Debian 12 中恢复被删除的 smb.conf 配置文件
  • ESP32开发之任务创建
  • [RHEL8] 指定rpm软件包的更高版本模块流
  • Linux系统的远程终端登录、远程图形桌面访问、 X图形窗口访问