标签:
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 queue<int> Queue1; 4 int* back,*tmp; 5 // Push element x onto stack. 6 void push(int x) { 7 Queue1.push(x); 8 9 10 } 11 12 // Removes the element on top of the stack. 13 void pop() { 14 back=&Queue1.back(); 15 while(&Queue1.front()!=back){ 16 tmp=&Queue1.front(); 17 Queue1.pop(); 18 Queue1.push(*tmp); 19 } 20 Queue1.pop(); 21 } 22 23 // Get the top element. 24 int top() { 25 return Queue1.back(); 26 } 27 28 // Return whether the stack is empty. 29 bool empty() { 30 return Queue1.empty(); 31 32 } 33 };
leetcode Implement Stack using Queues
标签:
原文地址:http://www.cnblogs.com/LUO77/p/5022405.html