题意:给定一棵二叉树,返回按zigzag层次遍历的结果
思路:
还是跟前面的Binary Tree Level Order Traversal的思路一样
即从上往下按层遍历二叉树,将每一层的节点存放到该层对应的数组中
最后将得到的总数组中奇数层(从0层开始计数)的子数组reverse一下就可以了
复杂度:时间O(n),空间O(n)...
分类:
其他好文 时间:
2014-05-15 15:15:50
阅读次数:
374
题意:给定一棵二叉树,返回按层遍历的结果
思路1:bfs,定义一个新的struct,记录指针向节点的指针和每个节点所在的层
复杂度1:时间O(n),空间O(n)
思路2:dfs
递归函数:
void levelOrder(TreeNode *root, int level, vector<vector >&result)
表示把根为root的树按层存放在result中,其中level表示当前的层数
复杂度2:时间O(n),空间O(n)
相关题目:...
分类:
其他好文 时间:
2014-05-15 14:46:06
阅读次数:
355
最近Mayuyu遇到个神奇的数论题目,Mayuyu能做出来真的不容易啊,描述如下。
题目:给定一个正整数,满足条件,以为根节点进行扩展,对于每一个节点,它只能到达能整除
它的节点,如果存在节点,使得成立,则必定会经过点,对于每一个节
点,有一个值,这个值等于这个节点的最大深度,最后求输出每个节点的序号乘对应值的和。
分析:对于一个数,它只能到达它的所有因子,...
分类:
其他好文 时间:
2014-05-15 14:38:20
阅读次数:
255
题意:给定一棵perfect binary tree,将它每一个节点的next指针都指向该节点右边的节点
思路:dfs
在connect一棵树的时候,需要知道这棵树的根节点和它右边的节点
1.将树的根节点和它右边的节点连接起来
2.递归地将左子树connect起来,需要知道左子树节点和右子树节点
3.递归地将右子树connect起来,需要知道右子树节点和根右边的节点的左子树节点
递归函数为:
void connect(TreeLinkNode *root, TreeLinkNode *sibling)
表...
分类:
其他好文 时间:
2014-05-15 07:14:04
阅读次数:
289
最短路径全集
使用最短路算法。
锦囊2
使用Dijkstra算法,此图的边数比点数的平方要少很多,因此应该使用带堆优化的Dijkstra。
问题描述
给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1...
分类:
其他好文 时间:
2014-05-15 01:33:35
阅读次数:
788
题意:给定一组数和另一个数,在这组数中找两个数,使它们的和等于给定的数
思路1: --> 错,因为题目要求返回下标。
1.排序
2.两个下标,一个指向头,一个指向尾
3.如果下标指向的两个元素相加大于给定的数,尾下标减一
如果小于,头下标加一
思路2: hash
1.用hash存储每个数的下标
2.数组,看hash[target-num[i]]是否存在
复杂度:时间O(n), 空间O(n)...
分类:
其他好文 时间:
2014-05-15 01:28:13
阅读次数:
297
题目描述:给定一个天平,用最少的砝码称出1到100克的物品,砝码重量任选假设物品放在右边,砝码可以放在左边或者右边,那么有:放在左边砝码的重量 =
放在右边砝码的重量 + 物品的重量,即 放在左边砝码的重量- 放在右边砝码的重量= 物品的重量。假设砝码放在左边用‘+’表示,放在右边用‘-’表示。那么...
分类:
其他好文 时间:
2014-05-14 23:28:42
阅读次数:
292
1、final
修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为
abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以...
分类:
其他好文 时间:
2014-05-14 22:01:21
阅读次数:
343
题意:移除数组中出现的给定元素,并返回移除元素数组长度。要求在数组上操作
思路:遍历数组,将除给定元素外的其他元素赋值给“新数组”,不过这个“新数组”还是在原来的“旧数组”的内存空间
因为遍历旧数组的下标总大于等于新数组的下标,所以赋值并不会影响到还没有遍历到的元素
复杂度:时间O(n), 空间O(1)...
分类:
其他好文 时间:
2014-05-14 21:35:52
阅读次数:
257
date--help用法:date[选项]...[+格式]或:date[-u|--utc|--universal][MMDDhhmm[[CC]YY][.ss]]以给定的格式显示当前时间,或是设置系统日期。-d,--date=字符串显示指定字符串所描述的时间,而非当前时间-f,--file=日期文件类似--date,从日期文件中按行读入时间描述-r,--refer..
分类:
系统相关 时间:
2014-05-14 16:11:37
阅读次数:
863