知识总结
面试题
用两个栈来实现一个队列,完成队列的 Push 和 Pop 操作。
队列的一个基本特点是,元素先进先出。通过两个栈来模拟时,首先我们将两个栈分为栈 1 和栈 2。当执行队列的 push 操作时,直接将元素 push 进栈 1 中。当队列执行 pop 操作时,首先判断栈 2 是否为空,如果不为空则直接 pop 元素。如果栈 2 为空,则将栈 1 中的所有元素 pop 然后 push 到栈 2 中,然后再执行栈 2 的 pop 操作。
当使用两个长度不同的栈来模拟队列时,队列的最大长度为较短栈的长度的两倍。