剑指offer-用两个栈实现队列

题目描述

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
 1 class Solution
 2 {
 3 public:
 4     void push(int node) {
 5         s1.push(node);
 6         
 7     }
 8 
 9     int pop() {
10         int k;
11         if(!s2.empty())
12         {
13             k = s2.top();
14             s2.pop();
15         }
16         else
17         {
18             while(!s1.empty())
19             {
20                 s2.push(s1.top());
21                 s1.pop();
22             }
23             k = s2.top();
24             s2.pop();
25         }
26         return k;
27         
28        
29         
30        
31     }
32 
33 private:
34     stack<int> s1;
35     stack<int> s2;
36 };

 

posted @ 2019-06-01 21:14  冷眼旁观你的泪  阅读(91)  评论(0编辑  收藏  举报