2014年10月26日

在二元树中找出何为某一值的所有路径 【微软面试100题 第四题】

摘要: 题目要求: 输入一个整数和一颗二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。 打印出和与输入整数相等的所有路径。 例如输入22,和二叉树如下 10 / \ 5 12 / \ 4 7 则打印出两条路径:10-->12... 阅读全文

posted @ 2014-10-26 22:23 tractorman 阅读(249) 评论(0) 推荐(0)

求子数组的最大和 【微软面试100题 第三题】

摘要: 题目要求: 输入一个整型数组,数组里有整数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有个一个和。 求所有子数组的和的最大值。要求时间复杂度为O(n)。 例如:输入的数组为1,-2,3,10,-4,7,2,-5,和最大的子数组为3,10,-4,7,2,因此输出为该子数组的和... 阅读全文

posted @ 2014-10-26 21:29 tractorman 阅读(243) 评论(0) 推荐(0)

包含min函数的栈 【微软面试100题 第二题】

摘要: 题目要求:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min、push及pop的时间复杂度都是O(1).参考题目:剑指offer第21题.题目分析: 1.采用面向对象思想,定义类StackWithMin,包含min、push和pop等方法; 2.Stac... 阅读全文

posted @ 2014-10-26 20:28 tractorman 阅读(259) 评论(0) 推荐(0)

二叉搜索树与双向链表 【微软面试100题 第一题】

摘要: 题目要求:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。参考题目:剑指offer第27题解决思路: 1. 根据观察可知,双向链表顺序即为二叉树的中序遍历结果----->采用中序遍历+递归; 2. 中序遍历顺序为:左+中+右,传入... 阅读全文

posted @ 2014-10-26 16:51 tractorman 阅读(609) 评论(1) 推荐(0)

导航