代码随想录算法训练营第十天|理论基础|232.用栈实现队列|225. 用队列实现栈|20. 有效的括号|1047. 删除字符串中的所有相邻重复项

232.用栈实现队列

文档讲解:栈实现队列

思路:

使用双栈模拟队列,两次进栈出栈就可以实现先进先出的情况。

遇到的问题:

在队列pop的实现时,如果stackOut是空,stackIn中元素需要全部进栈。

225. 用队列实现栈

文档讲解:队列实现栈

思路:

一个队列在模拟栈弹出元素的时候只要将队列头部的元素(除了最后一个元素外)重新添加到队列尾部,此时再去弹出元素就是栈的顺序了。

遇到的问题:

一开始想成了反转。。。

20. 有效的括号

文档讲解:有效的括号

思路:

使用栈来匹配,无非三种情况:1.遇到三种左括号,把对应右括号进栈;2.循环中栈空或者顶部元素不匹配;3.遇到匹配的右括号,出栈。

遇到的问题:

一开始没想明白if条件很有限。

1047. 删除字符串中的所有相邻重复项

文档讲解:删除字符串中的所有相邻重复项

思路:

使用一个栈存储字符,每遍历一个字符都和顶端字符相比,相同出栈,不同进栈。(当用数组模拟栈时,可以初始化top指向-1的位置,每次进栈top++)

遇到的问题:

StringBuffer的基本操作有点忘了,复习一下。


总结

加油!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值