16、用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

思路:栈的特点:先进后出;队列的特点:先进先出;

  用栈2将元素反序,从而实现队列的特点

 1 class Solution
 2 {
 3 public:
 4     void push(int node) {
 5         stack1.push(node);
 6     }
 7  
 8     int pop() {
 9         if(stack2.empty()){//栈2出完后才能继续入栈
10             while(!stack1.empty()){
11                 stack2.push(stack1.top());
12                 stack1.pop();
13             }
14         }
15         int t=stack2.top();
16         stack2.pop();
17         return t;
18     }
19  
20 private:
21     stack<int> stack1;
22     stack<int> stack2;
23 };
原文地址:https://www.cnblogs.com/olivegyr/p/7002777.html