劍指offer 用兩個棧實現佇列

2022-11-24 15:31:28 字數 416 閱讀 2635

題目:用兩個棧來實現一個佇列,完成佇列的push和pop操作。 佇列中的元素為int型別。

思路:佇列:先進先出。棧:先進後出。push操作的時候直接放入一個棧,pop操作的時候則從另一個棧取,那麼另一個棧怎麼存資料呢?當這個棧沒有資料的時候,則從push棧取出所有資料,此時最先存進棧的資料回到這個pop棧的頂。

class

solution

intpop()

}if(stack2.empty())

tmp =stack2.top();

stack2.pop();

return

tmp;

}private

: stack

stack1;

stack

stack2;

};