剑指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 };