1. 二叉树遍历(递归和非递归) 构造二叉树: 递归版前序遍历: 递归版中序遍历: 递归版后序遍历: 非递归版前序遍历: 非递归版中序遍历: 非递归版后序遍历: 这里用了两个栈,其实一个栈也能实现,这里这样做是因为可以和前序遍历对比着记,比较容易。 ...
分类:
编程语言 时间:
2018-04-11 21:47:06
阅读次数:
165
二叉树的前序遍历为:{1,2,4,7,3,5,6,8},中序遍历为:{4,7,2,1,5,3,8,6},求后序遍历 ...
分类:
其他好文 时间:
2018-04-08 13:15:58
阅读次数:
138
前序遍历(Preorder Traverse) 根结点-左子树-右子树 Java代码实现: 后序遍历(postorder traverse) 左子树-右子树-根结点 代码实现: 中序遍历(inorder traverse): 左子树-根结点-右子树 代码实现: ...
分类:
其他好文 时间:
2018-04-07 15:02:24
阅读次数:
172
给定一个二叉树,使用原地算法将它 “压扁” 成链表。示例:给出: 1 / \ 2 5 / \ \ 3 4 6压扁后变成如下: 1 \ 2 \ 3 \ 4 \ 5 \ 6提示:如果您细心观察该扁平树,则会发现每个节点的右侧子节点是以原二叉树前序遍历的次序指向下一个节点的。 详见:https://lee ...
分类:
其他好文 时间:
2018-04-05 01:12:59
阅读次数:
266
给定一棵树的前序遍历与中序遍历,依据此构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 = [3,9,20,15,7]中序遍历 = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7详见:https://leetcode.com/problems/ ...
分类:
其他好文 时间:
2018-04-04 23:42:14
阅读次数:
399
以下序列中不可能是一颗二叉查找树的后序遍历结构的是:(B) A: 1,2,3,4,5 B: 3,5,1,4,2 C: 1,2,5,4,3 D: 5,4,3,2,1 二叉查找树:左子树比根小,右子树比根大后序遍历的遍历顺序:左右根中序遍历的遍历顺序:左根右前序遍历的遍历顺序:根左右A中根是5:1234 ...
分类:
其他好文 时间:
2018-04-04 20:48:30
阅读次数:
113
题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 解题思路 max_dep保存最大深度,cur_dep保存当前遍历节点的深度,均初始化为0。利用前序遍历的思想,每次访问到一个节点,先对cur_dep加1,若当前节点为叶 ...
分类:
其他好文 时间:
2018-04-03 14:22:40
阅读次数:
127
中序遍历(LDR)是二叉树遍历的一种,也叫做中根遍历、中序周游。在二叉树中,先左后根再右。巧记:左根右。 现在有一个问题,已知二叉树的前序遍历和中序遍历:PreOrder: GDAFEMHZInOrder: ADEFGHMZ我们如何还原这颗二叉树,并求出他的后序遍历? 我们基于一个事实:中序遍历一定 ...
分类:
其他好文 时间:
2018-03-30 18:33:44
阅读次数:
139
一、介绍 在互联网公司的笔试题中,经常会出现给出一个二叉树的前序和中序遍历,让你去求它的后序遍历问题,因此我将这类题型的解题步骤总结如下。 二、例题 题目解析: 前序遍历顺序 根->左->右:abefd。 中序遍历顺序 左->根->右:ebadf。 后序遍历顺序 左->右->根:ebfda。 题目解 ...
分类:
其他好文 时间:
2018-03-30 14:11:11
阅读次数:
167