题目:两个栈实现一个队列。

栈的特点:先进后出,队列的特点是先进先出

思路:stack1放入数据;pop时,先判断stack2是否为空,如果不为空,直接pop,如果空,则push(stack1.pop)

import java.util.Stack;public class StackQueue {Stack<Integer> stack1 = new Stack<Integer>();Stack<Integer> stack2 = new Stack<Integer>();public void push(int node) {stack1.push(node);}public int pop() {if(!stack2.isEmpty()){return stack2.pop();}else{while(!stack1.isEmpty()){stack2.push(stack1.pop());}}return stack2.pop();}}

转载于:https://www.cnblogs.com/lfdingye/p/7298638.html

【剑指offer】用两个栈实现一个队列相关推荐

  1. 剑指offer五:两个栈实现一个队列

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

  2. [剑指offer] 用两个栈实现队列

    本文首发于我的个人博客:尾尾部落 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 解题思路 两个栈 stack1 和 stack2: push 动作都在 ...

  3. 剑指offer——用两个栈实现队列

    题目:用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 解题思路: 当stack2不为空时,在stack2中的栈顶元素是最先进入队列的元素,可以弹出.当stack2 ...

  4. 【栈与队列】剑指offer:两个栈模拟队列

    栈:先进后出 队列:先进先出 所以,只要分3种情况写即可 class Solution { public:void push(int node) {stack1.push(node);}int pop ...

  5. 剑指offer 09. 用两个栈实现一个队列 (JavaScript)

    用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能.(若队列中没有元素,deleteHea ...

  6. 【LeetCode】剑指 Offer 52. 两个链表的第一个公共节点

    [LeetCode]剑指 Offer 52. 两个链表的第一个公共节点 文章目录 [LeetCode]剑指 Offer 52. 两个链表的第一个公共节点 一.双指针 一.双指针 设 "第一个 ...

  7. 剑指 Offer 52. 两个链表的第一个公共节点

    题目:剑指 Offer 52. 两个链表的第一个公共节点 ,哈哈,我们今天来看一道很简单的题嘛,这是选自剑指 Offer 上的一道题,好了,我们一起来看看题意吧: 考虑到直接复制题目,或者截屏的方式不 ...

  8. 两个栈实现一个队列,两个队列实现一个栈

    题目:用两个栈实现一个队列,用两个队列实现一个栈. 首先要了解栈和队列这两种数据结构各自的特点,栈是一种后入先出(Last In First Out,LIFO)的数据结构,队列是一种先进先出(Firs ...

  9. java实现-两个栈实现一个队列和两个队列实现一个栈

    1.两个栈实现一个队列 思路:压入元素直接入stack1,删除元素先判断stack2中是否为空,如果不为空直接弹出:为空则将stack1中的元素取出压入 stack2中再弹出. 代码: import ...

最新文章

  1. 显示一个顶层的提示信息
  2. LeetCode实战:爬楼梯
  3. delphi日期格式显示及文件打开方式小结
  4. JVM指令:invokeSpecial/invokeVirtual/invokeStatic/invokeInterface/invokeDynamic方法调用指令
  5. Mysql(5)——数据库中表的操作(1)
  6. jmc线程转储_使线程转储智能化
  7. 国家开放大学2021春1073法律文书答案
  8. Redis运维和开发学习笔记(4) Redis参数意义
  9. 多源异构数据_构建数字孪生城市的CIM数据平台哪家强?
  10. 《成语玩命猜》两个弓
  11. 打印图片显示选择传真调制器或服务器,选择打印时为什么显示发送传真
  12. 建设容器云平台之前不能忽视3个评估,你的企业能得多少分? | 某银行最佳实践分享
  13. Hive架构及相关函数
  14. 逝随春花——OIer JCY 后续
  15. Kettle数据库连接中的集群与分片
  16. 移动云计算的四大特点
  17. 高精度室内定位导航 需要什么样的精准室内定位技术方案
  18. 武汉理工大学c语言pta选择题答案,武汉理工大学c语言实验及答案.doc
  19. el表达式找不到属性的错误修改方法(`javax.el.PropertyNotFoundException: 类型[java.lang.String]上找不到属性[book])
  20. 易經大意(12) 三和 韓長庚 著

热门文章

  1. Python-Evoked地形图可视化
  2. MNE-Python专辑 | MNE-Python详细安装与使用(更新)
  3. AI大牛周明打造的轻量“孟子模型”开源!靠10亿参数冲上CLUE榜第三,可用于新闻分类、文案生成...
  4. 只需1秒,无人机就能平地翻跟头 | IEEE
  5. 看了AI种草莓,我想回去当农民
  6. 如何评价小马智行投后估值60亿美元?无人车的追涨杀跌已经开始
  7. Android进阶(六)Binder机制
  8. 阿里云工业互联网平台开发样例
  9. Oracle Database 快捷版 安装 连接
  10. 分享几个vs code 的几个插件