最近在刷《剑指offer》里的编程题,但是网上关于《剑指offer》的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码(当然也有部分是借鉴了网上别人的解答的,出处未注明敬请之处请指出,侵删),希望能对大家的学习有所帮助。

题目:

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

其实就是把队列正常入栈,出栈的时候先把栈里的内容按顺序搬到另一个栈里,负负得正,这样再按顺序出栈的时候,就成了入栈前队列的顺序

import java.util.Stack; //使用栈记得引用java.util,Stack包public class Solution {Stack<Integer> stack1 = new Stack<Integer>();Stack<Integer> stack2 = new Stack<Integer>();//入栈函数public void push(int num) {stack1.push(num);    //要往栈中压入什么就直接用栈的push方法就好了      }//出栈函数public int pop() {Integer re=null; if(!stack2.empty()){  // 如果栈2不是空的,那么把最上面那个取出来re=stack2.pop(); }else{ //如果栈2是空的,就把栈1里的数一个个取出来,放到栈2里while(!stack1.empty()){   re=stack1.pop(); stack2.push(re); } //栈2里有数之后,再次把里面的数取出来if(!stack2.empty()){ re=stack2.pop(); } } return re; }
}

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

  1. java 栈和队列实现迷宫代码_LeetCode每日一题--剑指 Offer 09. 用两个栈实现队列(Java)

    DailyChallenge 剑指 Offer 09. 用两个栈实现队列 Easy20200630 Description 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTai ...

  2. java统计一个字符串中每个字符出现的次数_剑指offer算法题054:字符流中第一个不重复的字符...

    推荐阅读:宇宙条的工作总结:一年前还在面试找工作,一年后在面试找工作的学弟学妹们:第一次当面试官的经历分享小编在求职找找工作期间剑指offer上的算法题刷了很多遍,并且每道题小编当时都总结了一种最适合 ...

  3. 【剑指offer】【leetcode精选题集】【Java】剑指offer题解合集 更新中

    Leetcode题集 [剑指offer][JAVA]面试题第[03]题[数组中的重复数字][HashSet] [剑指offer][JAVA]面试题第[04]题[二维数中的查找][数组] [剑指offe ...

  4. 《LeetCode力扣练习》剑指 Offer 09. 用两个栈实现队列 Java

    <LeetCode力扣练习>剑指 Offer 09. 用两个栈实现队列 Java 一.资源 题目: 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 de ...

  5. 【剑指offer - C++/Java】5、用两个栈实现队列

    学习交流加 个人qq: 1126137994 个人微信: liu1126137994 学习交流资源分享qq群: 962535112 牛客网题目链接:用两个栈实现队列 文章目录 1.题目分析 2.代码 ...

  6. 【剑指offer】 用两个栈实现队列 java实现

    [剑指offer] 用两个栈实现队列 题目: 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 分析: 栈和队列的性质,栈是先进后出的,而队列是先进先出的.对于栈我 ...

  7. 《剑指Offer》Java刷题 NO.36 两个链表的第一个公共结点(链表,等长拼接法,长者先行法,辅助栈)

    <剑指Offer>Java刷题 NO.36 两个链表的第一个公共结点(链表,等长拼接法,长者先行法,辅助栈) 传送门:<剑指Offer刷题总目录> 时间:2020-06-19 ...

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

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

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

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

最新文章

  1. 创建topic验证kafka集群
  2. 数据集合 oracle,oracle集合
  3. java里的主线程和子线程以及finally不会执行的特殊情况
  4. ReactiveCocoa中潜在的内存泄漏及解决方案
  5. Joint Consensus两阶段成员变更的单步实现
  6. 求大素数 - 埃拉托斯特尼筛法
  7. .net知识和学习方法系列(二十五) .net中的windows service与服务操作
  8. linux ipv6修改为ipv4,Linux IPV6 转 IPV4
  9. zend studio 12.5 安装aptana
  10. 华硕固件 mysql_刷华硕固件后的桥接中继教程
  11. java List/ArrayList 解惑
  12. 怎样卸载teams_如何在Windows 10上永久卸载Microsoft Teams
  13. html中 选择子元素 子元素选择器
  14. 股票交易软件怎么获得数据接口
  15. TSC TTP244Pro 标签打印机打印不走纸
  16. 做一个优秀的时间管理者
  17. LCM/OLED模组点灯检测设备
  18. 老牌企业如何重新进入用户视野,产品年轻化成为超级产品主旋律
  19. TSCLIB.DLL函数库使用说明
  20. Linux多线程概念及实现

热门文章

  1. Go的异常处理 defer, panic, recover
  2. ubuntu系统下用kazam软件录制的视频不能在windows系统下播放的解决方案
  3. 有没有简单优雅的方法来定义单例? [重复]
  4. 视图的getWidth()和getHeight()返回0
  5. Python中递增和递减运算符的行为
  6. 一个数字可以在不损失精度的情况下达到的JavaScript的最高整数值是多少?
  7. Python按行读取文件、写文件
  8. jQuery-EasyUI异步加载树形菜单
  9. smarty学习——编程知识
  10. F2etest+UIRecorder(环境搭建)【1】