232.用栈实现队列
背景:
- 知识点补充:栈特性是先进后出;队列特性是先进先出;
- 栈的操作:新建stack(),新增push(),删除pop(),peek(),isempty(),size()
- 队列的操作:创建队列
添加元素(入队):q.put(item) # 将元素添加到队列末尾,移除元素(出队)q = Queue(),
;检查队列是否为空:q.empty();获取队列的大小:q.get() ;从队列头部移除并返回元素
;清空队列q.queue.clear() # 清空队列q.qsize() # 返回队列中元素的数量
思路:用两个栈,新增就增加至一个栈里,删除就将第一栈弹出再压第二个栈,即能按照队列的先进先出,弹出最后一个元素,则return第2个栈里的元素,判断是否为空就看两个栈都为空
实践:
复盘:学习思想,加以练习
225. 用队列实现栈
背景:
思路:入队好办新增即可,出队为了模拟栈的先进去的最后出去,可以采用双端队列每次加入的元素弹出后重新加入队列即可
实践:
复盘: