精选算法面试 - 队列
一.简介
队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。
LinkedList 类实现了 Queue 接口,因此我们可以把 LinkedList 当成 Queue 来用。
二.示例
2.1 用队列实现栈
使用队列实现栈的下列操作
push(x) -- 元素 x 入栈
pop() -- 移除栈顶元素
top() -- 获取栈顶元素
empty() -- 返回栈是否为空
注意
你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。
你所使用的语言也许不支持队列。 你可以使用 list 或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。
你可以假设所有操作都是有效的(例如, 对一个空的栈不会调用 pop 或者 top 操作)。
第一种
复制代码
第二种方法
复制代码
版权声明: 本文为 InfoQ 作者【李孟】的原创文章。
原文链接:【http://xie.infoq.cn/article/a9f2a863593f7f20b57da7f28】。文章转载请联系作者。
评论