5用两个栈实现队列
?
題目描述
用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素為int類型。 思路:一個棧只負責壓入元素,另一個棧在不為空的情況下彈棧,為空的時候先將Stack1全部壓棧,再彈出結果。class Solution { public:void push(int node) {stack1.push(node);}int pop() {if(stack2.size() == 0){while(!stack1.empty()){//先壓棧,再彈出結果,不要忘記彈出結果 stack2.push(stack1.top());stack1.pop();}int tmp = stack2.top();stack2.pop();return tmp;}else{int tmp = stack2.top();stack2.pop();return tmp;}return -1;}private:stack<int> stack1;//pushstack<int> stack2;//不空就pop,空就將1全部壓入 };
?
轉載于:https://www.cnblogs.com/dingxiaoqiang/p/7881649.html
總結