1. 层序构建和先序遍历: 1 public class Tree { 2 public Tree left; 3 public Tree right; 4 public int val; 5 6 public Tree() { 7 8 } 9 10 ...
分类:
其他好文 时间:
2014-07-09 21:16:15
阅读次数:
150
写完才知道自己学习都是似是而非啊,大家可以也在leecode上提交代码,纯手写,离开eclipse第一种方式:数据结构书上的,使用栈大概思路。1.不断将根节点的左孩子的左孩子直到为空,在这个过程入栈。2.因为栈顶的节点的左孩子为空,所以栈顶的的节点的左子树肯定访问完毕,所以出栈后直接指向右孩子。其实...
分类:
编程语言 时间:
2014-06-30 11:44:30
阅读次数:
193
以前觉得后续遍历最难写,今天看了篇博客http://blog.csdn.net/sgbfblog/article/details/7773103,其实却是我们仔细比较后续遍历和先序遍历,其实后续遍历就是按照 根右左 的方式先序访问然后逆序就是答案了,会先序就会逆序了leecode 的AC代码:pub...
分类:
编程语言 时间:
2014-06-30 11:32:15
阅读次数:
206
【题目】
Given a binary tree, return the preorder traversal of its nodes' values.
For example:
Given binary tree {1,#,2,3},
1
2
/
3
return [1,2,3].
Note: Recursive solution is trivial, could you do it iteratively?
【题意】
非递归返回先序遍历...
分类:
其他好文 时间:
2014-06-30 06:21:18
阅读次数:
334
题目:Given a binary tree, return thepreordertraversal of its nodes' values.For example:Given binary tree{1,#,2,3}, 1 \ 2 / 3return[1,2,3]....
分类:
其他好文 时间:
2014-06-26 16:03:52
阅读次数:
296
题目:输入一个二叉树和一个整数,打印出二叉树中所有和给定整数值相等的路径。分析:先画图明白几点:1)根据题意,我们是要遍历整个树才能确定所有符合条件的路径。显然应该从根节点出发,那么我们就应该采用先序遍历。这里遍历就采用递归更简单。2)遍历完了后如何保存路径呢?这里我们是采用vector而不是sta...
分类:
其他好文 时间:
2014-06-17 14:05:47
阅读次数:
230
回溯法是设计递归的一种常用方法,它的求解过程实质上就是一个先序遍历一棵"状态树"的过程,只是这棵树不是遍历前预先建立的而是隐含在遍历过程中的。下面举一个例子:求含n个元素的集的幂集:集合A={ {1,2,3}, {1,2}, {1,3}, {1}, {2,3},{2},{3},{}}; /...
分类:
其他好文 时间:
2014-06-17 00:49:01
阅读次数:
302
根据先序遍历和中序遍历的特点,我们想到了采用递归的方法来实现。思路:1)
代码的容错性检查,比如:先序遍历和中序遍历长度应相等 2)
先保存先序遍历的第一个点,这个点为结点,接下来循环中序遍历,直到midOrd[index]=该结点,那么接下来就可以采用递归,分别对结点左边和右边的序列采用相同的方法...
分类:
其他好文 时间:
2014-06-11 21:48:07
阅读次数:
358
按先序遍历创建一棵树,以层次遍历输出
样例输入
A B # D # # C E # # F # #
样例输出
LevelOrder: A B C D E F
代码:
#include
#include
using namespace std;
struct node { //表示一个树上的节点
char ch;
nod...
分类:
其他好文 时间:
2014-06-10 15:58:02
阅读次数:
295
二叉链表的C语言描述基本运算的算法——建立二叉链表、先序遍历二叉树、中序遍历二叉树、后序遍历二叉树、后序遍历求二叉树深度#include#includeusing
namespace std;class Tree{private: struct Node { char da...
分类:
其他好文 时间:
2014-06-09 18:39:49
阅读次数:
310