題目
用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素爲int類型。
基本思路
棧1:
用於入隊列存儲
棧2:
出隊列時將棧1的數據依次出棧,併入棧到棧2中
棧2出棧即棧1的底部數據即隊列要出的數據。
注意:
棧2爲空才能補充棧1的數據,否則會打亂當前的順序。
代碼
const stack1 = [];
const stack2 = [];
function push(node)
{
stack1.push(node);
}
function pop()
{
if(stack2.length === 0){
while(stack1.length>0){
stack2.push(stack1.pop());
}
}
return stack2.pop() || null;
}