/*
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
*/
class Solution {
public:
void push(int value) {
m_stack1.push(value) ;
}
int pop() {
if(m_stack2.empty()) {
while(!m_stack1.empty()) {// when m_stack2 is empty, do this operation
m_stack2.push(m_stack1.top()) ;// pop all from stack1
m_stack1.pop() ;
}
}
int nRet = m_stack2.top() ;
m_stack2.pop() ;
return nRet ;
}
private:
std::stack<int> m_stack1 ;
std::stack<int> m_stack2 ;
} ;
两个栈实现队列
最新推荐文章于 2023-03-22 22:40:14 发布