剑指Offer试题总结(二)
来源:互联网 发布:绫致淘宝企业店假货 编辑:程序博客网 时间:2024/06/02 07:30
包含min函数的栈:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min,push和pop的时间复杂度都是O(1)?
因为栈的Push和pop的操作时间复杂度都是O(1),所以现在考虑怎么让min的复杂度也是O(1)。如果在该栈中维护一个最小值的元素,则第一次min操作的时候可以正确取出最小值,但接下来的min操作则无法取得最小值。所以可以考虑设置一个辅助栈,首先把第一个元素压入辅助栈中,下面,对每一个元素,如果该元素小于辅助栈的栈顶元素,则将该元素压入辅助栈,否则将辅助栈的栈顶元素复制并压入。
栈的压入、弹出序列:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出序列?
思路比较清晰,建立一个辅助栈,试图按照第二个序列出栈,如果栈为空之前,不能弹出任何元素,则第二个序列不是该栈的弹出序列。
从上往下打印二叉树:从上到下打印出二叉树的每个节点,同一层的结点按照从左到右顺序打印?
画个图尝试着去打印一些结点,可以想到用队列保存待打印的结点。从根节点出发,将队列的子节点顺序加入队列中,下面依次打印队列的首元素,并且每次将打印结点的子结点加入队列中。
二叉搜索树的后序遍历序列:输入一个整数数组,判断该数组是不是某个二叉搜索树的后序遍历的结果?
对于二叉搜索树的后序遍历来说,根节点为最后一个结点,且左子树均小于根节点,右子树均大于根节点,所以很显然,对每一轮的子树进行判断时,只要判断左子树和右子树和子树根节点的大小关系是否合法即可。
- 剑指Offer试题总结(二)
- 剑指Offer试题总结
- 剑指offer面试题总结
- 剑指offer面试题12 (二)
- [转]剑指offer面试题总结
- 剑指offer面试题分类总结
- 《剑指Offer》做题总结(二)
- 面试题总结(二)
- 面试题总结(二)
- 剑指offer:面试题二:单例模式的实现(使用C++语言)
- 剑指Offer----面试题二:实现Singleton模式
- 《剑指Offer》面试题二之实现Singleton
- 《剑指offer》第四章 解决面试题的思路 总结
- 剑指offer(二)java
- 《剑指offer》面试题3(2)
- 剑指Offer(面试题3~5)
- 剑指Offer(面试题6~7)
- 剑指Offer(面试题8~10)
- 监视网卡状态
- FMDatabase 的使用方法
- 深入理解计算机系统--读书笔记
- 面向过程的程序设计
- worldwind学习笔记-11-下一步咋办?
- 剑指Offer试题总结(二)
- ABAP 图片预览
- Mac常用快捷键一览
- C++并发实战5:并行化的std::accumulate
- IT技术开发论坛大全
- Young矩阵查找(2014美团研发笔试)
- 国储贵金属分析
- hadoop2.2支持snappy压缩安装及配置
- 解决 gcc/g++ 编译动态库通过却无法运行的问题