标签:
Implement the following operations of a stack using queues.
Notes:
push to back
, peek/pop from front
, size
, and is empty
operations are valid.
Update (2015-06-11):
The class name of the Java function had been updated to MyStack instead of Stack.
Credits:
Special thanks to @jianchao.li.fighter for adding this problem and all test cases.
用一个队列就可实现,看了很多例子觉得discuss里面有个朋友写的很简练,就用了他的丝路,和她基本一致
1 class Stack { 2 public: 3 // Push element x onto stack.. 4 queue<int> a; 5 void push(int x) { 6 a.push(x); 7 } 8 9 // Removes the element on top of the stack. 10 void pop() { 11 size_t i = 0; 12 size_t size = a.size(); 13 for(i = 0; i < size-1; ++i) 14 { 15 a.push(a.front()); 16 a.pop(); 17 } 18 a.pop(); 19 } 20 21 // Get the top element. 22 int top() { 23 return a.back(); 24 } 25 26 // Return whether the stack is empty. 27 bool empty() { 28 return a.empty(); 29 } 30 };
(leetcode)Implement Stack using Queues
标签:
原文地址:http://www.cnblogs.com/chdxiaoming/p/4701978.html