题意:给定一棵二叉树,返回按层遍历的结果
思路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
尾递归定义:
如果一个函数中所有递归形式的调用都出现在函数的末尾,我们称这个递归函数是尾递归的。当递归调用是整个函数体中最后执行的语句且它的返回值不属于表达式的一部分时,这个递归调用就是尾递归。尾递归函数的特点是在回归过程中不用做任何操作,这个特性很重要,因为大多数现代的编译器会利用这种特点自动生成优化的代码。
原理
当编译器检测到一个函数调用是尾递归的时候,它就覆...
分类:
其他好文 时间:
2014-05-15 06:49:43
阅读次数:
278
题意:中序遍历
思路:采用递归实现。因为函数声明是返回一个vector,所以每个子树返回的是该子树的中序遍历的结果
按照 左、根、右的次序把根和左右子树的vector合并起来就可以了...
分类:
其他好文 时间:
2014-05-15 06:21:09
阅读次数:
255
序列-2
序列相加
通过加号对列表进行连接操作;
列表
>>> [1,3,4]+[2,5,8]
[1, 3, 4, 2, 5, 8]
字符串
>>> '134'+'258'
'134258'
元组
>>> (1,2,3)+(2,5,8)
(1, 2, 3, 2, 5, 8)
元素数据类型不同的列表
>>> [[1,3],[3,9]]+[[2,2],'abc']
[[1,...
分类:
编程语言 时间:
2014-05-15 05:31:56
阅读次数:
425
/*
* hdu How many prime numbers
* date 2014/5/13
* state AC
*/
#include
#include
#include
using namespace std;
bool isPrime(int x)
{
int sqr=sqrt(x*1.0);
for(int i=2;i<=sqr;i++)
{...
分类:
其他好文 时间:
2014-05-15 05:07:18
阅读次数:
261
ADT 线性表(List)
Data
线性表的数据对象集合为{a1,a2,…,an},每个元素的类型均为DataType。
其中,除第一个元素a1外,每一个元素有且只有一个直接前驱元素,除了最后一个元素an外,每一个元素有且只有一个直接后继元素。
数据元素之间的关系是一对一的关系。
Operation
InitList(*L): 初始化操作,...
分类:
编程语言 时间:
2014-05-15 03:39:54
阅读次数:
357
基本概念和术语
1.数据 数据元素 数据对象 数据结构
数据:在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称.
数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据对象:是性质相同的数据元素的集合。是数据的一个子集。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
2.数据结构
数据结构分为逻辑结构和物理结构
...
分类:
其他好文 时间:
2014-05-15 03:26:16
阅读次数:
317
实际上也是一个二分查找的问题。
要找出范围,决定了当找到这个数时不能马上返回,如果找target最前面的那个位置,只有当这个位置等于target,且这个位置的前一个位置不等于target时,才能返回这个位置。如果找的是target最后面的那个位置,那么只有当这个位置等于target,且这个位置的后一个位置不等于target时,才会返回它。不满足返回条件时,下一次递归走什么位置也不一样,找前面的时...
分类:
其他好文 时间:
2014-05-14 21:58:25
阅读次数:
350
判断n是否为素数1、最简单的方法:用n除以2~sqrt(n),有一个能除尽就不是素数,否则是素数。时间复杂度:O(sqrt(n))为什么是sqrt(n),n的开方呢?
假设n是个合数,它必然可以由两个数a,b相乘而得到,即a*b = n。在这两个数中,如果a>sqrt(n), 则bsqrt(n), ...
分类:
其他好文 时间:
2014-05-14 18:05:31
阅读次数:
363
题目一:
Given a string s, partition s such that every substring of the partition is a palindrome.
Return all possible palindrome partitioning of s.
For example, given s = "aab",
Return
[
...
分类:
其他好文 时间:
2014-05-14 15:10:01
阅读次数:
293