![b285362b00cac39a0c9b3dfc1f9225e1.png](https://i-blog.csdnimg.cn/blog_migrate/feef92d6593ec13210a20c58f89350ff.jpeg)
本文已收录至 https://github.com/vipstone/algorithm 《算法图解》系列。
队列和栈是计算机中两个非常重要的数据结构,经过前面的学习(《队列》、《栈》)我们知道了它们各自的特点,队列是先进先出(FIFO)的,而栈是先进后出(FILO)的,那如何用栈来实现队列呢?这可是一道经典的面试题,所以本文我们就来实现一下。
在正式开始之前,我们先来回顾一下栈和队列的常用方法。
栈(Stack)的常用方法包含以下这些:
- push():入栈方法,向栈顶添加元素;
- pop():出栈方法,将栈顶的元素移除并返回元素;
- peek():查询栈顶元素,并不会移除元素。
![9ed14e95ab488070e58b3a387aef5b30.png](https://i-blog.csdnimg.cn/blog_migrate/b17f26e8025f3f4b40e08ac5236a043d.jpeg)
image.png
队列(Queue)的常用方法包含以下这些:
- offer():入队方法