面试题 7: 两个栈实现一个队列
来源:互联网 发布:好搜排名优化软件 编辑:程序博客网 时间:2024/06/05 16:52
一. 题目
用两个栈实现一个队列,并完成在队列尾部插入结点和在队列头部删除结点的功能.
代码请到我的代码库中下载 Point2Offer
二. 代码
package week_4;import java.util.Stack;/**难度系数:** * 剑指offer: 两个栈实现一个队列 * 方法: 队尾插入,队头删除 * 测试用例:功能测试(空的队列添加删除,非空的添加删除,连续删除置为空) * @author dingding * Date:2017-7-6 8:30 * Declaration: All Rights Reserved! */public class No7 { public static void main(String[] args){ test1(); } //定义一个队列 public static class CQueue<T>{ private Stack<T> stack1= new Stack<>(); private Stack<T> stack2= new Stack<>(); public CQueue(){ } //solution,队头添加 private void appendTail(T number){ stack1.add(number); } //队尾删除 private T deleteHead(){ //栈2为空,把栈1值取出放入2 if (stack2.isEmpty()) { while (!stack1.isEmpty()){ stack2.add(stack1.pop()); } } if (stack2.isEmpty()) { throw new RuntimeException("No more element."); } return stack2.pop(); } } /*=======================测试用例==================*/ private static void test1(){ CQueue<Integer> cQueue = new CQueue<>(); for (int i=0;i<5;i++){ cQueue.appendTail(i); } Integer head = cQueue.deleteHead(); System.out.println("删除队头为: "+ head); cQueue.appendTail(5); System.out.print(" "+cQueue.deleteHead()); System.out.print(" "+cQueue.deleteHead()); System.out.print(" "+cQueue.deleteHead()); System.out.print(" "+cQueue.deleteHead()); System.out.print(" "+cQueue.deleteHead()); }}
有不妥当之处,麻烦告知:D
阅读全文
0 0
- 面试题-----两个栈实现一个队列
- 面试题7两个栈实现一个队列和两个队列实现一个栈
- 面试题7:用两个栈实现一个队列
- 面试题7:用两个队列实现一个栈
- 【面试题】剑指Offer-7-两个栈实现一个队列
- 面试题 7: 两个栈实现一个队列
- 面试题7:用两个栈实现队列和用两个队列实现一个栈
- 栈&队列面试题之两个队列实现一个栈
- 面试题7 两个栈实现队列
- 面试题(两个栈实现一个队列和两个队列实现一个栈)
- 【数据结构】栈面试题--两个栈实现一个队列
- 【数据结构】栈面试题--两个队列实现一个栈
- 面试题--用两个栈实现一个队列
- 经典面试题一:用两个栈实现一个队列
- 面试题 用两个栈实现一个队列
- 《剑指Offer》面试题:用两个队列实现一个栈
- 面试题8:用两个栈实现一个队列
- 面试题:用两个栈实现一个队列
- codeforces 822B(Crossword solving) Java
- spring HandlerExceptionResolver
- java爬虫教程02
- Android自定义UI
- java基础知识问题导航
- 面试题 7: 两个栈实现一个队列
- 消息提示-插件效果
- python3 爬虫环境准备 (三)-常用库的安装
- 获取空间hwnd
- 使用Spring StateMachine框架实现状态机
- 架构师之路(十七)Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- select标签使用 三目运算符
- 关于安卓是怎么联网的,或者说是怎么连接服务器的
- 中文输入纠错任务整理