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

算法 用两个栈实现队列-(栈+队列)

牛客网: BM42

题目: 用两个栈模拟队列

思路: stack1, stack2两个栈,入队只选择stack1, 出队只选择stack2, 如果stack2为空,将stack1元素全部出栈并入栈stack2。

代码:

// gopackage mainvar stack1 [] int
var stack2 [] intfunc Push(node int) {stack1 = append(stack1, node)
}func Pop() int {if len(stack2) == 0 {for len(stack1) > 0 {node := stack1[len(stack1)-1]stack2 = append(stack2, node)stack1 = stack1[:len(stack1)-1]}}if len(stack2) > 0 {node := stack2[len(stack2)-1]stack2 = stack2[:len(stack2)-1]return node}return -1
}

http://www.lryc.cn/news/176358.html

相关文章:

  • Android单编模块报FAILED: ninja: unknown target ‘MODULES-IN-vendor错误解决
  • 地球的某一片红薯地中秋圆《乡村振兴战略下传统村落文化旅游设计》——旅行季许少辉八月新书辉少许想象和世界一样宽广
  • Zookeeper-命令操作
  • eclipse 添加注释
  • Linux网络编程- 网络字节顺序
  • 如何永久关闭WPS任务窗口?
  • Cesium 问题:加载 geojson 数据量大浏览器会崩,使用primitive方式加载
  • C++ Primer----1.5类简介 章节练习
  • 爬楼梯Java(斐波那契数列)
  • Maven项目package为jar包后在window运行报A JNI error has occurred
  • iview 的table表格组件使单元格可编辑和输入
  • 统计的基本概念及抽样分布
  • 【C++】class的设计与使用(四)this指针
  • mysql 导入sql文件
  • springcloud:三、ribbon负载均衡原理+调整策略+饥饿加载
  • 【Unity编辑器扩展】Tranform组件自定义扩展,复制位置旋转缩放数据
  • 自动驾驶领域中的CMS系统应用探讨
  • 十分钟理解OSPF路由协议
  • Python 编程基础 | 第一章-预备知识 | 1.4、包管理工具
  • delphi中使用CADVCL 10.0 Enterprise控件解析DXF文件生成图片保存到本地
  • Hazelcast系列(三):hazelcast管理中心
  • QT 绘画功能的时钟
  • 设计模式之道-模板方法模式
  • 头哥的实践平台的Linux文件/目录管理
  • 软件测试基本常识
  • Xmake v2.8.3 发布,改进 Wasm 并支持 Xmake 源码调试
  • Serverless 数仓技术与挑战(内含 PPT 下载)
  • 九牧小牧携手国家队!一场“中国卫浴“和“中国体育”的双向奔赴
  • crypto:Quoted-printable
  • 【六级】作文模板-议论文-问题解决