学习了栈和队列的基本知识后,我们要利用这些基本知识实现出更多情况的栈和队列,下面通过一些面试题使我们更灵活的设计和使用栈和队列。
1.利用一个数组实现两个栈
<一>思路:
我们已经学过了栈和数组,数组是一块固定大小的存储空间,栈的栈底是固定的,通过栈顶来push,pop元素。(栈顶top指向栈顶元素)
通过上面的图片,就能很清晰的看到,我们要用一个数组实现两个栈的话,数组的两端是两个栈的栈底,然后向中间靠拢,top1和top2是两个栈的栈顶。