題目:用兩個棧來實作一個隊列,完成隊列的Push和Pop操作。 隊列中的元素為int類型。
完整代碼:
class Solution
{
public:
void push(int node) {
//将元素添加到stack1裡
stack1.push(node);
}
int pop() {
//定義臨時變量
int data;
//如果stack2裡沒有元素
if(stack2.size()<=0)
{
//對于stack1中的全部元素
while(stack1.size()>0)
{
//取棧頂元素
data=stack1.top();
//将棧頂元素取出
stack1.pop();
//将取出的元素壓入到stack2中
stack2.push(data);
}
}
//否則,從stack2彈出的元素即是隊列元素
//取stack2 得棧頂元素
data=stack2.top();
// 将元素彈出
stack2.pop();
//傳回删除元素
return data;
}
private:
stack<int> stack1;
stack<int> stack2;
};