标签:
Implement the following operations of a stack using queues.
Notes:
push to back
, peek/pop from front
, size
, and is empty
operations are valid.1 class Stack { 2 public: 3 // Push element x onto stack. 4 void push(int x) { 5 q.push(x); 6 } 7 8 // Removes the element on top of the stack. 9 void pop() { 10 queue<int> temp; 11 while(q.size()!=1){ 12 int x=q.front(); 13 q.pop(); 14 temp.push(x); 15 } 16 q.pop(); 17 while(!temp.empty()){ 18 int x=temp.front(); 19 temp.pop(); 20 q.push(x); 21 } 22 } 23 24 // Get the top element. 25 int top() { 26 queue<int> temp; 27 while(q.size()!=1){ 28 int x=q.front(); 29 q.pop(); 30 temp.push(x); 31 } 32 int x=q.front(); 33 q.pop(); 34 temp.push(x); 35 while(!temp.empty()){ 36 int x=temp.front(); 37 temp.pop(); 38 q.push(x); 39 } 40 return x; 41 } 42 43 // Return whether the stack is empty. 44 bool empty() { 45 return q.empty(); 46 } 47 private: 48 queue<int> q; 49 };
【LeetCode】225 - Implement Stack using Queues
标签:
原文地址:http://www.cnblogs.com/irun/p/4696593.html