# -*- coding:utf-8 -*-
class Solution:def __init__(self):self.stack1 = []self.stack2 = []def push(self, node):# write code hereself.stack1.append(node)def pop(self):#检查stack2是否为空,不为空弹出,#为空继续判断stack1是否为空,不为空放入stack2中,为空表示栈内无元素try:_pop = self.stack2.pop()except IndexError as e:if len(self.stack1) != 0:for i in range(len(self.stack1)):self.stack2.append(self.stack1.pop())_pop = self.stack2.pop()else:_pop = Nonereturn _popif __name__ == '__main__':s = Solution()s.push(1)s.push(2)s.push(3)s.push(4)s.push(5)s.push(6)print(s.pop())print(s.pop())print(s.pop())print(s.pop())s.push(7)print(s.pop())print(s.pop())print(s.pop())print(s.pop())print(s.pop())print(s.pop())

python:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。相关推荐

  1. 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。...

    题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. import java.util.Stack; public class Solution {      ...

  2. 算法:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。...

    算法:用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型.<剑指offer> 利用栈来进行操作,代码注释写的比较清楚:首先判断两个栈是否是空的:其次当栈二 ...

  3. 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型...

    以下为借鉴 var stack1 = [], stack2=[]; function push(node){     stack1.push(node); } function pop(){      ...

  4. JAVA实现用两个栈来实现一个队列,完成队列的Push和Pop操作(《剑指offer》)

    最近在刷<剑指offer>里的编程题,但是网上关于<剑指offer>的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码 ...

  5. 《剑指offer》c++版本 9. 用两个栈来实现一个队列

    如题: 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 本题考察对数据结构队列,栈的理解.队列的特点是FIFO,先进先出.栈的特点是FILO,先进后出.题目要求我 ...

  6. N5-用两个栈来实现一个队列

    题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. import java.util.Stack; /*** 用两个栈来实现一个队列,完成队列的Push和P ...

  7. 牛客网(剑指offer) 第五题 用两个栈来实现一个队列

    //用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. //方法一:没有用到栈 $queue=array(); function mypush($node) {glo ...

  8. 剑指offer两个栈来实现一个队列

    题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 思路 一个水题,不过有一个坑:我们假设stack1是输入用的,stack2是输出用的,必须是stack2 ...

  9. 化栈为队(两个栈来实现一个队列)

    实现一个MyQueue类,该类用两个栈来实现一个队列. 示例: MyQueue queue = new MyQueue();queue.push(1); queue.push(2); queue.pe ...

  10. 将编号为0和1的两个栈存放于一个数组空间V[m]中。

    目录 1.题目描述 2.算法实现 1.题目描述 将编号为0和1的两个栈存放于一个数组空间V[m]中,栈底分别处于数组的两端.当第0号栈的栈顶指针top[0]等于-1时该栈为空:当第1号栈的栈顶指针to ...

最新文章

  1. 中科大影响超越清华北大
  2. 【杂谈】人脸图像书看完了感觉不过瘾?这些拓展人脸资料值得你关注一下
  3. self.view = nil 和[self.view release]的区别
  4. raid卡缓存对硬盘性能_Mac Pro 2019加装2.5英寸机械硬盘方案
  5. w3 protocol
  6. 干部年龄大 计算机水平,各级别公务员“晋升年龄表”来了,超过这个年龄,以后基本上没戏...
  7. C# NPOI NPOI加载 Excel加载 Excel读取 Excel写入 Excel修改 保证完整能用
  8. 【随笔】稚晖君软件硬件环境总结
  9. 数据中心断路器整定值计算(二)
  10. Flowable深入浅出-14 Flowable-BPMN操作流程之任务完成
  11. UE4 GamePlay架构
  12. 视频名词浅析——HDR
  13. PS:成功解决photoshop无法直接拖入图片
  14. python大数据需要什么技术有前途_大数据就业前景好不好 一般要掌握哪些技术...
  15. 实时网速监测app_实时网速安卓下载_实时网速监测安卓app下载-XP软件园
  16. qmake -v,出现错误:qmake: could not exec ‘/usr/lib/x86_64-linux-gnu/qt4/bin/qmake‘: No such file or direc
  17. 阿里云服务器宽带多少合适?宽带选择方法及5M宽带注意事项
  18. HDU-4540 威威猫系列故事——打地鼠
  19. GIS数据下载,全国省市县乡行政区划分
  20. 云原生钻石课程|第8课:Kubernetes运维管理详解(上)

热门文章

  1. 如何用弹出窗口显示进度 - 回复 嘿嘿嘿 的问题
  2. 开源数据库系统之SQLite3.2.0、FireBird2.0 Alpha-1等
  3. Android Binder实现浅析-Binder驱动
  4. [分组背包]Luogu1064 金明的预算方案
  5. Vant中List组件immediate-check=false无效
  6. js基础-21-事件委托
  7. js基础-9-正则表达式
  8. Oracle的imp、exp导入导出命令
  9. 如何在游标里控制条件_如何在冰冻条件下保护控制球阀?
  10. python维度切片中三个是怎么取值的_总结python 多维切片之冒号和三个点的使用方法...