正如標題所述,你需要使用兩個棧來實現佇列的一些操作。
佇列應支援push(element),pop() 和 top(),其中pop是彈出佇列中的第乙個(最前面的)元素。
pop和top方法都應該返回第乙個元素的值。
例1:
輸入:push(1)
pop()
push(2)
push(3)
top()
pop()
輸出:1
22
例2:
輸入:push(1)
push(2)
push(2)
push(3)
push(4)
push(5)
push(6)
push(7)
push(1)
輸出:僅使用兩個棧來實現它,不使用任何其他資料結構,push,pop 和 top的複雜度都應該是均攤o(1)的
假設呼叫pop()函式的時候,佇列非空
public class myqueue
/** @param element: an integer
* @return: nothing
*/public void push(int element)
/** @return: an integer
*/public int pop()
// int result = next.pop();
// while (!next.empty())
return stack.pop();}/*
* @return: an integer
*/public int top()
// int result = next.peek();
// while (!next.empty())
return stack.peek();
}}public class myqueue
/** @param element: an integer
* @return: nothing
*/public void push(int element)
/** @return: an integer
*/public int pop()
int result = next.pop();
while (!next.empty())
return result;}/*
* @return: an integer
*/public int top()
int result = next.peek();
while (!next.empty())
return result;
}}
lintcode 用棧實現佇列 40
正如標題所述,你需要使用兩個棧來實現佇列的一些操作。佇列應支援push element pop 和 top 其中pop是彈出佇列中的第乙個 最前面的 元素。pop和top方法都應該返回第乙個元素的值。樣例 比如push 1 pop push 2 push 3 top pop 你應該返回1,2和2 挑...
用棧實現佇列 用佇列實現棧
棧的特點 filo firstinlastout 僅能從棧頂插入,刪除元素。最基本的介面包括push 從棧頂壓入元素 pop 從棧頂彈出元素 佇列的特點 fifo firstinfirstout 僅能從隊頭刪除元素,從隊尾插入元素。最基本的介面包括enque 從隊尾插入元素 deque 從隊頭刪除元...
LintCode刷題 40 用棧實現佇列
正如標題所述,你需要使用兩個棧來實現佇列的一些操作。佇列應支援push element pop 和 top 其中pop是彈出佇列中的第乙個 最前面的 元素。pop和top方法都應該返回第乙個元素的值。樣例 比如push 1 pop push 2 push 3 top pop 你應該返回1,2和2 題...