用两个栈实现队列
来源:互联网 发布:上瘾网络剧花絮视频 编辑:程序博客网 时间:2024/05/22 08:04
题目描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
解题思路
定义两个栈,其中栈1负责插入元素,栈2负责弹出元素,插入数据的时候直接在栈1中插入,弹出的时候首先看栈2是否为空,不为空直接弹出,为空,则将栈1的元素一次弹出插入到栈2中,若栈1也为空,则抛出异常。
import java.util.Stack;public class yonglianggezhanlaishixianduilie { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); public void push(int node) { stack1.push(node); } public int pop() { if (stack1.isEmpty() && stack2.isEmpty()) return -1; if (stack2.isEmpty()) { while (!stack1.isEmpty()) stack2.push(stack1.pop()); return stack2.pop(); } else { return stack2.pop(); } }}
阅读全文
0 0
- 用两个栈实现队列 & 用两个队列实现栈
- 用两个队列实现栈&用两个栈实现队列
- 用两个栈实现队列 & 两个队列实现一个栈
- 两个栈实现队列&&用两个队列实现一个栈
- 用两个栈实现队列 & 两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个栈实现队列
- Atitit 互联网技术公司防爆指南技术规范标准流程 30个危险物品
- Linux&音频】Alsa音频编程【精华】
- 常用js限制输入、常用js正则表达式
- csapp_3.69
- Atitit 朋友圈 微博 之道 朋友圈的dos and donts
- 用两个栈实现队列
- springcloud(三):服务提供与调用
- Atitit 聚合搜索多个微博 attilax总结
- 数据分库分表Sharding JDBC学习
- Trie——理论知识
- 正则表达式(java)
- css3 transform animation 动画 小结
- atitit 2017年学业计划 v5 r818.xlsx
- 正则表达式速查表