从网上看到一道面试题:用两个栈(Stack)实现一个队列(Queue)。
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
class Solution
{
public:
void push(int node) {
}
int pop() {
}
private:
stack<int> stack1;
stack<int> stack2;
};
在提交了自己的代码之后,发现自己的效率十分的差,又去拜访了很多大神的算法。大致在这里做个总结。
先贴上自己的代码虽然能解决问题,但是在效率和内存空间上有很多需要改进的地方。