232.用栈实现队列
文档讲解:栈实现队列
思路:
使用双栈模拟队列,两次进栈出栈就可以实现先进先出的情况。
遇到的问题:
在队列pop的实现时,如果stackOut是空,stackIn中元素需要全部进栈。
225. 用队列实现栈
文档讲解:队列实现栈
思路:
一个队列在模拟栈弹出元素的时候只要将队列头部的元素(除了最后一个元素外)重新添加到队列尾部,此时再去弹出元素就是栈的顺序了。
遇到的问题:
一开始想成了反转。。。
20. 有效的括号
文档讲解:有效的括号
思路:
使用栈来匹配,无非三种情况:1.遇到三种左括号,把对应右括号进栈;2.循环中栈空或者顶部元素不匹配;3.遇到匹配的右括号,出栈。
遇到的问题:
一开始没想明白if条件很有限。
1047. 删除字符串中的所有相邻重复项
文档讲解:删除字符串中的所有相邻重复项
思路:
使用一个栈存储字符,每遍历一个字符都和顶端字符相比,相同出栈,不同进栈。(当用数组模拟栈时,可以初始化top指向-1的位置,每次进栈top++)
遇到的问题:
StringBuffer的基本操作有点忘了,复习一下。
总结
加油!