面试题7:用两个栈实现队列
来源:互联网 发布:java中的同步 编辑:程序博客网 时间:2024/06/15 20:27
剑指Offer面试题7:用两个栈是实现队列(JS实现)
题目描述::用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deletedHead,分别完成在队列尾部插入节点和在队列头部删除节点的功能。
//栈 function Stack(){ var items = []; this.push = function(element){ items.push(element); } this.pop = function(){ return items.pop(); } //返回栈顶元素 this.peek = function(){ return items[items.length-1]; } this.isEmpty = function(){ return items.length === 0; } this.size = function(){ return items.length; } this.clear = function(){ items = []; } this.print = function(){ console.log(items.toString()); } } //用两个栈实现队列 function Queue() { var stack1 = new Stack(); var stack2 = new Stack(); //向队列的尾部添加元素 this.appendTail = function(element) { stack1.push(element); } //从队列头部移除元素 this.deleteHead = function() { if(stack2.size() <= 0) { while(stack1.size() > 0) { stack2.push(stack1.pop()); } if(stack2.size() === 0) { return false; } } return stack2.pop(); } } var queue = new Queue(); queue.appendTail(5); queue.appendTail(8); queue.appendTail(15); queue.appendTail(2); queue.appendTail(9); console.log(queue.deleteHead()); queue.appendTail(100); console.log(queue.deleteHead());
0 0
- 面试题7 两个栈实现队列
- 剑指offer-->面试题7 用两个栈实现队列
- 面试题7:用两个栈实现队列
- 面试题7:用两个队列实现栈
- 面试题7 用两个栈实现队列
- 【剑指offer】面试题7:用两个栈实现队列
- 剑指Offer:面试题7 用两个栈实现队列
- 面试题7:用两个栈实现队列
- 面试题7-用两个栈实现队列
- 面试题7 用两个栈实现队列
- 面试题7:用两个栈实现队列
- 面试题7 用两个栈实现队列
- 《剑指Offer》面试题7:用两个栈实现队列
- 面试题7:用两个栈实现队列
- 【剑指offer】 面试题7: 用两个栈实现队列
- 面试题7,用两个栈实现队列
- 面试题7:用两个栈实现队列
- 【剑指offer】面试题7:用两个栈实现队列
- 即将毕业来到公司实习的第一天(4月24)
- Spring Cloud Feign常见问题
- 1091. Acute Stroke (30)
- (7)hadoop学习——hive的复杂数据类型
- 服务优化之二(使用php语言结构代替函数)
- 面试题7:用两个栈实现队列
- 冒泡排序——java实现
- System.arraycopy()和Arrays.copyOf()的区别
- Sum—LeetCode-18 4Sum
- iOS日志本地化--日志重定向
- LevelDB学习
- MarqueeTextView实现跑马灯效果
- 123
- 整理时下流行的浏览器User-Agent大全