JavaScript 用两个栈实现队列
用两个栈实现队列
题目:
用两个栈来实现一个队列,完成队列的 Push 和 Pop 操作。
思路:
队列的一个基本特点是,元素先进先出。通过两个栈来模拟时,首先我们将两个栈分为栈1和栈2。当执行队列的 push 操作时,直接 将元素 push 进栈1中。当队列执行 pop 操作时,首先判断栈2是否为空,如果不为空则直接 pop 元素。如果栈2为空,则将栈1中 的所有元素 pop 然后 push 到栈2中,然后再执行栈2的 pop 操作。
扩展:
当使用两个长度不同的栈来模拟队列时,队列的最大长度为较短栈的长度的两倍。
更多面试题
如果你想了解更多的前端面试题,可以查看本站的WEB前端面试题 ,这里基本包涵了市场上的所有前端方面的面试题,也有一些大公司的面试图,可以让你面试更加顺利。
面试题 | ||
---|---|---|
HTML | CSS | JavaScript |
jQuery | Vue.js | React |
算法 | HTTP | Babel |
BootStrap | Electron | Gulp |
Node.js | 前端经验相关 | 前端综合 |
Webpack | 微信小程序 | - |
这些题库还在更新中,如果你有不错的面试题库欢迎分享给我,我整理后放上来;人人为我,我为人人,互帮互助,共同提高,祝大家都拿到心仪的Offer!