代码随想录day10 栈与队列

10.1 用栈模拟队列

 

思路:栈-先入后出,队列-先入先出,用栈模拟队列时,先使用stackIn将元素压入栈,然后将元素逐个取出并压入到stackOut,此时出栈的顺序将和队列的取出循序保持一致

细节:只有当stackOut中的元素为空时,才可以将stackIn里面的元素压入到stackout,要不然就会导致顺序错乱

10.2 用队列实现栈

 

补充知识:用链表实现队列Queue queue1 = new LinkedList()常用的方法

1.queue.add()/queue.offer()向队列中添加元素2.queue.poll()弹出队列的头部元素3.queue.peek()返回头部元素,但是并不会弹出4.queue.size()返回队列的长度

代码优化,用单个队列模拟栈,首先统计的队列的长度size,然后将队列前size-1个元素取出,然后压入到队列中,此时队列取出元素的顺序就会和栈的取出顺序保持一致

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值