摘要: 题目 实现一个特殊的栈,在实现栈的基础上,再实现返回栈中最小的元素的操作。 要求 1. pop、push、getMin的时间复杂度是O(1) 2. 可以使用现成的栈类型 思路 如下图所示,在栈结构中,每次pop的过程中,产生的最小值,分别为:1、2、6,在pop过程会出现两个规律: 1. 每次pop 阅读全文
posted @ 2016-07-18 12:51 小魂师 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 题目 编写一个类,用两个栈实现队列,支持队列的基本操作(add, poll, peek) 要求 无 思路 使用两个栈,栈A用于add,栈B用于poll和peek,add的时候,往栈A中push元素,poll时,如果栈B不是空,则弹出最顶元素,如果为空则将栈A的所有元素pop,然后push到栈B中。这 阅读全文
posted @ 2016-07-18 12:50 小魂师 阅读(238) 评论(0) 推荐(0) 编辑