剑指offer——用两个栈实现队列
题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
解题思路:
当stack2不为空时,在stack2中的栈顶元素是最先进入队列的元素,可以弹出。当stack2为空时,我们把stack1中的元素逐个弹出并压入stack2.由于先进入队列的元素被压到stack1,底端,经过弹出和压入操作后就处于stack2的顶端。
1 import java.util.Stack; 2 3 public class Solution { 4 Stack<Integer> stack1 = new Stack<Integer>(); 5 Stack<Integer> stack2 = new Stack<Integer>(); 6 7 public void push(int node) { 8 stack1.push(node); 9 } 10 11 public int pop() { 12 if(stack2.empty())//如果stack2不为空,不可以push 13 { 14 while(!stack1.empty()) 15 stack2.push(stack1.pop()); 16 17 } 18 return stack2.pop(); 19 20 } 21 }
转载于:https://www.cnblogs.com/wangyufeiaichiyu/p/10844442.html
剑指offer——用两个栈实现队列相关推荐
- [剑指offer] 用两个栈实现队列
本文首发于我的个人博客:尾尾部落 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 解题思路 两个栈 stack1 和 stack2: push 动作都在 ...
- 【栈与队列】剑指offer:两个栈模拟队列
栈:先进后出 队列:先进先出 所以,只要分3种情况写即可 class Solution { public:void push(int node) {stack1.push(node);}int pop ...
- 剑指offer五:两个栈实现一个队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. package com.jianzhioffer;import java.util.Stack;publ ...
- 剑指offer 用2个栈实现队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 解决方案: import java.util.Stack;public class Solution { ...
- 剑指offer-JZ9 用两个栈实现队列(C++,附思路)
描述 用两个栈来实现一个队列,使用n个元素来完成 n 次在队列尾部插入整数(push)和n次在队列头部删除整数(pop)的功能. 队列中的元素为int类型.保证操作合法,即保证pop操作时队列内已有元 ...
- 剑指Offer09. 用两个栈实现队列
class CQueue {public:stack<int> stack1,stack2;CQueue() {//初始化栈while(!stack1.empty()){stack1.po ...
- 【LeetCode】剑指 Offer 52. 两个链表的第一个公共节点
[LeetCode]剑指 Offer 52. 两个链表的第一个公共节点 文章目录 [LeetCode]剑指 Offer 52. 两个链表的第一个公共节点 一.双指针 一.双指针 设 "第一个 ...
- 剑指 Offer 52. 两个链表的第一个公共节点
题目:剑指 Offer 52. 两个链表的第一个公共节点 ,哈哈,我们今天来看一道很简单的题嘛,这是选自剑指 Offer 上的一道题,好了,我们一起来看看题意吧: 考虑到直接复制题目,或者截屏的方式不 ...
- 剑指offer之两个队列实现栈的问题
1 问题 两个队列实现栈的插入和获取头部元素的功能 2 分析 1)获取头部元素的功能分析: 我们有2个队列,我们知道队列的特点的先进先出,而栈的特点是先进后出,比如我们有数据1,2,3,4,我们分别依 ...
最新文章
- SQLite3的数据类型转载()
- CodeForces - 1303E Erase Subsequences(dp)
- 工作215:打印出父子组件的this
- Redis服务器被劫持风波
- 《.Ne框架程序设计》随记(3)
- 百度谷歌雅虎搜狗提交链接入口
- iphone双卡双待神器android,荐好货:让iPhone变双卡双待神器大盘点
- python xlsxwriter dict_Python玩转Excel神器xlsxwriter详解
- 谷歌chrome浏览器安装json插件
- java SE的内容有什么_JavaSE包含哪些内容?JavaEE呢?
- 黑天鹅mobi_破坏我们系统的因素:黑天鹅分类法
- xdos攻击ac实验环境
- 如何设置分布式IO模块Profinet的地址
- XCode 苹果开发者账号,无法本地编译项目,问题所在 The app identifier “xxxx“ cannot be registered to your development team
- 我的瞎搞开发工具集以及对一些工具的比较
- 如何用CANSLIM法则选股
- wmf文件与emf文件
- MSSQL 数据库邮件配置
- 机器学习岗位的面试准备——总结1
- python歌词分析_Python 词云分析周杰伦新歌《说好不哭》