题意:给定一棵二叉树,返回按zigzag层次遍历的结果
思路:
还是跟前面的Binary Tree Level Order Traversal的思路一样
即从上往下按层遍历二叉树,将每一层的节点存放到该层对应的数组中
最后将得到的总数组中奇数层(从0层开始计数)的子数组reverse一下就可以了
复杂度:时间O(n),空间O(n)...
分类:
其他好文 时间:
2014-05-15 15:15:50
阅读次数:
374
前面提到过很多次大整数的问题,这个是真正的大整数。
我用了一个很蠢得方法,先写一个大整数和一个个位数相乘的方法,返回的结果是一个string,然后写一个string相加的方法,每次循环,用其中一个数的每一位去乘另一个数,然后加到结果上。。
多么愚蠢的思路,居然还一遍过了。。一个更好的方法是先用两个int数组把两个string存一下,每位占数组中的一个数,然后再用一个int数组保存结果,每次也是...
分类:
其他好文 时间:
2014-05-15 14:55:51
阅读次数:
322
题意:给定一棵二叉树,返回按层遍历的结果
思路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
jQuery实现返回顶部功能
整理两个实现功能,一个是右下角的返回顶部,一个是右侧的返回顶部,分别如图
第一种实现
一、JSP或HTML(主体结构)
在body中添加
...
分类:
Web程序 时间:
2014-05-15 07:18:52
阅读次数:
327
尾递归定义:
如果一个函数中所有递归形式的调用都出现在函数的末尾,我们称这个递归函数是尾递归的。当递归调用是整个函数体中最后执行的语句且它的返回值不属于表达式的一部分时,这个递归调用就是尾递归。尾递归函数的特点是在回归过程中不用做任何操作,这个特性很重要,因为大多数现代的编译器会利用这种特点自动生成优化的代码。
原理
当编译器检测到一个函数调用是尾递归的时候,它就覆...
分类:
其他好文 时间:
2014-05-15 06:49:43
阅读次数:
278
前段时间有个需求在springmvc mapping的url跳转前完成一个统计的业务。显然需要进行异步的处理,不然出错或者异常会影响到后面的网页跳转。异步的方式也就是非阻塞式的,当异步调用成功与否程序会接着往下执行,不必等到输入输出处理完毕才返回。
主要用到httpasyncclient-4.0.1.jar,httpclient-4.3.2.jar,httpcore-4.3.2.jar,http...
分类:
编程语言 时间:
2014-05-15 06:37:55
阅读次数:
359
题意:中序遍历
思路:采用递归实现。因为函数声明是返回一个vector,所以每个子树返回的是该子树的中序遍历的结果
按照 左、根、右的次序把根和左右子树的vector合并起来就可以了...
分类:
其他好文 时间:
2014-05-15 06:21:09
阅读次数:
255
在一个有reurn 返回值的函数里 如果申请了一段内存的话(alloc 或者copy) 这个时候不能够release 只能够使用autorelease
在返回到那个被接受到的指针里,由它去进行释放!!
如果是self.obj(或者某些类对应的 SomeClass.obj)这种类型的,就需要把self.去掉(因为这样子的申请出来的内存引用计数会被retain+1了)
...
分类:
移动开发 时间:
2014-05-15 04:40:44
阅读次数:
369
在前几篇文章中我介绍过js的闭包,这一篇主要简单的介绍一下js中闭包的范式。
那么何谓闭包的范式呢?
首先回顾一下闭包的概念,闭包是外部函数与函数内部之间通信的桥梁,通过对函数的返回,使得外部的函数可以访问函数内部的
一些数据。也就是说闭包可以使得函数内部的数据私有化或者说是公有化。
范式实际上就是js中的匿名函数,看起来像这样,下面就是个匿名函数,也就是闭包
(function(){...
分类:
Web程序 时间:
2014-05-14 14:41:17
阅读次数:
360
即使使用编译程序提供的所有警告设施,编译程序所发现的错误,也只是程序错误中的一小部分。例如
以下一行代码:
strCopy=memecpy(malloc(length),str,length));
当malloc 调用失败时,返回一个空指针,而memcpy如果没有处理空指针时,程序就会出现错误。编译程序是无法查出
这种或其他类似的错误。同样编译程序也无法查出算法的错误,...
分类:
编程语言 时间:
2014-05-14 14:11:31
阅读次数:
474