当前位置: 首页 > 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();*/

 

相关文章:

  • 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、多态
  • 著名文学评论家、清华大学中文系教授蓝棣之逝世
  • 宝龙地产:委任中金国际为境外债务重组新的独家财务顾问
  • 人民日报:外资车企携新车、前沿技术亮相上海车展,坚定信心深耕中国市场
  • 专家解读上海一季度经济数据:经济韧性在增强,民企活力不可小觑
  • 陈曦任中华人民共和国二级大法官
  • 视频丨普京称积极对待任何和平倡议