2020年9月1日

栈的压入、弹出序列

摘要: 题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长 阅读全文

posted @ 2020-09-01 12:00 _那些你很冒险的梦 阅读(89) 评论(0) 推荐(0)

包含 min 函数的栈

摘要: 题目描述:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的 min 函数(时间复杂度应为O(1))。 分析:别人的题解之后都是使用了另外一个栈来保持在入栈过程中曾经做过最小值的值,pop 的时候判断两个栈顶元素是否一致,一致的话都要 pop,在这种情况下取最小值需要从保存最小值的栈顶 阅读全文

posted @ 2020-09-01 11:32 _那些你很冒险的梦 阅读(86) 评论(0) 推荐(0)

用两个栈实现队列

摘要: 题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 分析: 队列的特性是:“先入先出”,栈的特性是:“先入后出”。 当我们向模拟的队列插入数 a,b,c 时,假设插入的是 stack1,此时的栈情况为: 栈 stack1:{a,b,c} 栈 stack2: 阅读全文

posted @ 2020-09-01 10:31 _那些你很冒险的梦 阅读(138) 评论(0) 推荐(0)

导航