队列模仿栈
使用队列实现栈的下列操作:
push(x) -- 元素 x 入栈
pop() -- 移除栈顶元素
top() -- 获取栈顶元素
empty() -- 返回栈是否为空
/**
* Initialize your data structure here.
*/
var MyStack = function() {
this.list = [];
this.topEl = null;
};
/**
* Push element x onto stack.
* @param {number} x
* @return {void}
*/
MyStack.prototype.push = function(x) {
this.list.push(x);
this.topEl = x;
};
/**
* Removes the element on top of the stack and returns that element.
* @return {number}
*/
MyStack.prototype.pop = function() {
let temp = [];
while(this.list.length > 1) {
let s = this.list.shift();
temp.push(s);
this.topEl = s;
}
let topEl = this.list.shift();
this.list = temp;
return topEl;
};
/**
* Get the top element.
* @return {number}
*/
MyStack.prototype.top = function() {
return this.topEl
};
/**
* Returns whether the stack is empty.
* @return {boolean}
*/
MyStack.prototype.empty = function() {
return this.list.length === 0
};
作者:egerton
链接:https://leetcode-cn.com/problems/implement-stack-using-queues/solution/gen-ju-guan-fang-ti-jie-xie-de-javascriptshi-xian-/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
最后更新于