Day10 理论基础 ● 232.用栈实现队列 ● 225. 用队列实现栈

1.理论基础

队列:先进先出
栈:先进后出


2. 232.栈实现队列

js里的数组就可以看成是栈,因为pop出来的就是最后push进去的.(pop是pop数组的最后一个元素)

2.1 tips

  1. 如果在方法里用this.pop(),调用的是方法的pop而不是js自带的pop
  2. 注意看pop里的判断逻辑,第一遍用的stackOut,第二遍用的stackIn
  3. empty的实现好好琢磨下

3. 225.队列实现栈

思路:
可以用两个队列,也可以用一个队列实现.
一个队列的实现方法:把前面的先进的元素再加入一遍队列(这里提到的都是单向队列)

  • 和上一题不一样的点在于,js中的数组同样可以模拟queue,怎么模拟呢?用shift做到的.因为队列的特点就是第一个进的第一个出来,所以用shift方法刚好.所以如果想模仿栈就用pop(),想模仿队列就用shift()

3.1 tips

  1. 用到了shift函数,是移除数组的第一个元素
  2. 查看第一个元素的时候,记得先存到变量里,因为如果直接用shift是会同时删除掉该元素的
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容