博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用两个栈实现队列
阅读量:6588 次
发布时间:2019-06-24

本文共 773 字,大约阅读时间需要 2 分钟。

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

思路:用两个栈来模拟队列,一个栈作为存储,另一个栈作为交换空间。队列的push操作就直接push到第一个栈中,队列的pop操作,需要取得第一个栈低的元素,所以先把第一个栈的元素出栈,入栈到第二个队列,那么取的元素就是第二个栈的栈顶,第二个栈直接出栈即可。然后把剩下的数据在还原回去。

实现代码:

import java.util.Stack;public class Solution {    Stack
stack1 = new Stack
(); Stack
stack2 = new Stack
(); public void push(int node) { stack1.push(node); } public int pop() { while(!stack1.isEmpty()) { stack2.push(stack1.pop()); } int ret = stack2.pop(); while(!stack2.isEmpty()) { stack1.push(stack2.pop()); } return ret; }}

 

转载于:https://www.cnblogs.com/wxisme/p/5236200.html

你可能感兴趣的文章
【框架学习】ibatis DAO框架分析
查看>>
ZOJ 3640 Help Me Escape
查看>>
C#下实现的半角转与全角的互转
查看>>
PreparedStatement vs Statement
查看>>
删除windows中的库、家庭组、收藏夹
查看>>
war 宽度变窄
查看>>
set p4 environment in windows
查看>>
自定义指令的参数
查看>>
python实现进度条
查看>>
Android 一个应用启动另一个应用的说明
查看>>
阿里云CentOS7服务器利用LVM分区挂载磁盘全记录
查看>>
Setting up the Web Admin Tool in LDAP 6.x to communicate via SSL
查看>>
SQL好习惯:编写支持可搜索的SQL
查看>>
Shadowbox
查看>>
【 程 序 员 】:伤不起的三十岁,你还有多远 ?
查看>>
openldap安装
查看>>
[leetcode]count and say
查看>>
润乾报表 - 缓存问题
查看>>
利用IFormattable接口自动参数化Sql语句
查看>>
泛型Dictionary的用法详解
查看>>