标签: 用栈实现队列(JS实现)

用栈实现队列(JS实现)

1 题目
使用栈实现队列的下列操作:
push(x) – 将一个元素放入队列的尾部。
pop() – 从队列首部移除元素。
peek() – 返回队列首部的元素。
empty() – 返回队列是否为空。
示例:
MyQueue queue = new MyQueue();
queue.push(1);
queue.push(2);
queue.peek(); // 返回 1
queue.pop(); // 返回 1
queue.empty(); // 返回 false
链接:https://leetcode-cn.com/problems/implement-queue-using-stacks
2 思路
这道题思路就是用两个栈来模拟队列,当进行弹出操作时,将一个栈的元素全部弹出,再压入另一个栈,栈顶元素就为*先进入的元素
3代码
var MyQueue = function() {
  this.stack1 = [];
  this.stack2 = [];
};
MyQueue.prototype.push = function(x) {
  this.stack1.push(x);
};
MyQueue.prototype.pop = function() {
  if (this.stack2.length === 0) {
    while (this.stack1.length > 0) {
      this.stack2.push(this.stack1.pop());
    }
  }
  return this.stack2.pop();
};
MyQueue.prototype.peek = function() {
  if (this.stack2.length > 0) {
    return this.stack2[this.stack2.length – 1];
  } else {
    return this.stack1[0];
  }
};
MyQueue.prototype.empty = function() {
  return this.stack1.length === 0 && this.stack2.length === 0;
};

用栈实现队列(JS实现)

用栈实现队列(JS实现)

1 题目
使用栈实现队列的下列操作:
push(x) – 将一个元素放入队列的尾部。
pop() – 从队列首部移除元素。
peek() – 返回队列首部的元素。
empty() – 返回队列是否为空。
示例:
MyQueue queue = new MyQueue();
queue.push(1);
queue.push(2);
queue.peek(); // 返回 1
queue.pop(); // 返回 1
queue.empty(); // 返回 false

链接:https://leetcode-cn.com/problems/implement-queue-using-stacks

2 思路
这道题思路就是用两个栈来模拟队列,当进行弹出操作时,将一个栈的元素全部弹出,再压入另一个栈,栈顶元素就为*先进入的元素

3代码
var MyQueue = function() {
this.stack1 = [];
this.stack2 = [];
};

MyQueue.prototype.push = function(x) {
this.stack1.push(x);
};

MyQueue.prototype.pop = function() {
if (this.stack2.length === 0) {
while (this.stack1.length > 0) {
this.stack2.push(this.stack1.pop());
}
}

return this.stack2.pop();
};

MyQueue.prototype.peek = function() {
if (this.stack2.length > 0) {
return this.stack2[this.stack2.length – 1];
} else {
return this.stack1[0];
}
};

MyQueue.prototype.empty = function() {
return this.stack1.length === 0 && this.stack2.length === 0;
};

友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速