牛客题霸 [用两个栈实现队列] C++题解/答案
生活随笔
收集整理的這篇文章主要介紹了
牛客题霸 [用两个栈实现队列] C++题解/答案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素為int類型。
題解:
我們都知道棧的性質是先進后出,隊列是先進先出
我們用兩個棧來模擬出隊列
可以先用一個棧來存數,當要輸出時,最上面的是最晚進棧的,我們將所有數存到另一個棧內,這樣就使得第二個棧的頂部是最早輸入的數,就可以實現先進先出
代碼:
class Solution { public:void push(int node) {stack1.push(node);}int pop() {if (stack2.empty()){while (!stack1.empty()){stack2.push(stack1.top());stack1.pop();}}int num = stack2.top();stack2.pop();return num;}private:stack<int> stack1;stack<int> stack2; };總結
以上是生活随笔為你收集整理的牛客题霸 [用两个栈实现队列] C++题解/答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 路由器怎么插线无线路由器的线要怎么接
- 下一篇: 显示器4k屏幕是什么意思?