剑指-用两个栈实现队列
来源:互联网 发布:互联网共享打印机端口 编辑:程序博客网 时间:2024/06/06 05:24
题目:
用两个栈实现一个队列,请实现在队列尾部插入结点和在队列头部删除结点的功能.
思路:
第一个栈作为插入使用,当需要删除时,将第一个栈中的元素全部导出到第二个栈中,此时,第二个栈顶部的元素就是队列的头部需要删除的结点.
static class CQueue<T> { Deque<T> stack_1 = new LinkedList<T>(); Deque<T> stack_2 = new LinkedList<T>(); void appendTail(T t) { stack_1.push(t); } T deleteHead() { // 若第二个栈不为空 if (stack_2.isEmpty()) { while (!stack_1.isEmpty()) { stack_2.push(stack_1.pop()); } } if (!stack_2.isEmpty()) { return stack_2.pop(); } return null; }}public static void main(String[] args) {// queue.offer();// queue.poll();// stack.push();// stack.pop()}
0 0
- [剑指offer]用两个栈实现队列
- 【剑指offer】用两个栈实现队列
- 剑指offer--用两个栈实现队列
- 剑指Offer-用两个栈实现队列
- 剑指offer:用两个栈实现队列
- 《剑指offer》用两个栈实现队列
- 用两个栈实现队列(剑指offer)
- 剑指 offer:用两个栈实现队列
- 【剑指Offer】用两个栈实现队列
- 剑指offer-用两个栈实现队列
- 《剑指offer》-用两个栈实现队列
- 剑指offer 用两个栈实现队列
- 剑指offer 用两个栈实现队列
- [剑指offer]用两个栈实现队列
- 剑指offer--用两个栈实现队列
- 剑指--用两个栈实现队列
- 剑指offer|用两个栈实现队列
- 【剑指offer】用两个栈实现队列
- Java日期转换SimpleDateFormat格式大全
- 安卓安全测试
- java多态的实现
- java讲义经验之谈(一)接口与抽象类的区别
- “J.U.C”:锁,lock (r)
- 剑指-用两个栈实现队列
- Android之Http通信Json解析
- 分享国内外好用的H5页面制作网站
- 学习了一下XML,并结合相应的知识讲解了一下spring的dubbo配置
- nodejs中 exports 和 module.exports 的区别
- 我的见解之hibernate(十一)
- BZOJ3714 [PA2014]Kuglarz
- JAVA学习第二周——数组
- Android WebView加载后有白边框的问题