算法
文章平均质量分 72
wwhmj
这个作者很懒,什么都没留下…
展开
-
二叉树中和为某一值的路径
做这道题目时,一开始觉得难度不大想好递归思路就可以了,但是一开始我在FindPath__(TreeNode root,int target,ArrayList in_list)是这样传参的,但是由于in_list在递归时是传址,所以造成我in_list的内容一旦变化,之前add()到list的in_list变成最新的in_list。所以,在list内的每个in_list必须都是不一样的(都是新ne原创 2016-06-12 14:26:59 · 289 阅读 · 0 评论 -
minimum-depth-of-binary-tree
1.Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.题目的意思是找出根节点到叶子节点最短的一条路径的深度,这个深度等于左子树原创 2016-06-14 09:56:10 · 205 阅读 · 0 评论 -
Two Sum
Given an array of integers, return indices of the two numbers such that they add up to a specific target. 对于这道题目能够很快的想到用穷举法,从头开始遍历,对于每个元素,再往后遍历,这样的时间复杂度比较高是O(n)。对于查找具体数值用哈希的方法是很方便的。从头遍历,对于得到的每个a原创 2016-06-14 15:30:08 · 198 阅读 · 0 评论 -
跳台阶/分苹果(递归)
递归的参数是逐渐减小的,减小到达递归出口(即递归到最简单的情况),那么只要考虑这个最简单的情况就可以了。1.一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。设f(n)为跳上第n级台阶有多少种跳法:(1)当n=1时,f(n)=1;当n=2时,f(n)=2。(2)当n>2时,那么它最后一跳要么跳2级,要么跳1级,那么f(n)=f(n-1)+f(n-2)原创 2016-06-14 15:57:58 · 269 阅读 · 0 评论 -
根据给定的序列构建/判断二叉树
1.输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路:从最简单的树来想,建造一棵二叉树就是先找到根,然后建立左子树然后建立右子树,当给出的是遍历的数组时,可以根据遍历特点知道根节点,在先序遍历中,根节点总原创 2016-06-22 15:51:02 · 1294 阅读 · 0 评论