題目描述用兩個(gè)棧來實(shí)現(xiàn)一個(gè)隊(duì)列,,完成隊(duì)列的Push和Pop操作。 隊(duì)列中的元素為int類型,。
class Solution
{
public:
//入隊(duì):將元素進(jìn)棧A
//出隊(duì):判斷棧B是否為空,,如果為空,則將棧A中所有元素pop,,并push進(jìn)棧B,,棧B出棧;
//如果不為空,,棧B直接出棧,。
////棧的特點(diǎn):后進(jìn)先出。隊(duì)列的特點(diǎn):先進(jìn)先出,。所以在push方面是一樣的,,
//在pop方面需要一個(gè)stac//k來做輔助,可以想象成從一杯中把水倒到另一杯中,。
void push(int node) {
stack1.push(node);
}
int pop() {
int temp;
if(stack2.empty()){
while(!stack1.empty()){
temp=stack1.top();
stack2.push(temp);
stack1.pop();
}
}
temp=stack2.top();
stack2.pop();
return temp;
}
private:
stack<int> stack1;
stack<int> stack2;
};
|