题目描述
解题思路
- 使用两个数组进行初始化
- 一个数组存储入队操作
- 一个数组存储出队操作
- 入队函数将系统输入的值push进A数组
- 出队函数首先判断出队数组中是否有元素,如果有则将其pop出
- 如果没有,则将A数组中的元素倒序push进B数组,然后再pop出
实现代码
var CQueue = function() {
this.stackA = [];
this.stackB = [];
};
CQueue.prototype.appendTail = function(value) {
console.log("系统输入的数据:",value);
this.stackA.push(value);
};
CQueue.prototype.deleteHead = function() {
if (this.stackB.length) {
return this.stackB.pop();
} else {
while (this.stackA.length) {
this.stackB.push(this.stackA.pop());
}
if (this.stackB.length === 0) {
return -1;
} else {
return this.stackB.pop();
}
}
};