栈和队列
队列是先进先出,栈是后进先出。
栈和队列是STL(C++标准库)里面的两个数据结构,不同版本的STL这两个数据结构的实现存在区别。
栈和队列不提供迭代器,所以无法通过迭代器对其进行遍历。所以STL中栈和队列往往不被归类为容器。而栈的内部结构可以是vector、deque或者list均是可以的,主要就是数组和链表的底层实现。如果没有指定,栈和队列通常是用deque实现的,deque是双向队列,两端都是开口的,只要封住一段,另一端开口即可实现栈的逻辑。
232.用栈实现队列:这是一道模拟题,可以用两个List集合来模拟队列后进先出的特性即可实现。
225.用队列实现栈:和232题不同,225不需要两个List来模拟队列,只需要一个List即可实现队列的功能。
20.有效的括号:这题梦回Deagle。低配版deagle,几种情况只要考虑清楚就很简单。
1047.删除字符串中所有相邻的重复项:这道题可以用栈的思想,新的一个要添加进栈的元素如果和栈顶元素相同,则不添加新元素,且将栈顶元素出栈。如果和栈顶元素不相同则将要添加的元素进栈即可。