题目
- 232.用栈实现队列
- 225.用队列实现栈
- 20.有效的括号
- 1047.删除字符串中的所有相邻重复项
232.用栈实现队列
- 这是一道模拟题,不涉及到具体算法,考察的就是对栈和队列的掌握程度。
- 一个stack是不够的,需要一个输入栈,一个输出栈。
225.用队列实现栈
- 用两个队列que1和que2实现队列的功能,que2其实完全就是一个备份的作用,把que1最后面的元素以外的元素都备份到que2,然后弹出最后面的元素,再把其他元素从que2导回que1。
优化:用一个队列
- 一个队列在模拟栈弹出元素的时候只要将队列头部的元素(除了最后一个元素外) 重新添加到队列尾部,此时再去弹出元素就是栈的顺序了。
- 和第一个方法比起来,就是少了把东西从que2从que1复制过去的部分。
20.有效的括号
- 用stack
- 注意要检查stack是否为空
1047.删除字符串中的所有相邻重复项
- 自己纸上模拟下再写,比较好理解