题目;请实现一个函数,用来判断一棵二叉树是不是对称的。如果一颗二叉树和它的镜像一样,那么它是对称的。
例如,下面二棵树图(1)就是对称的二叉树,而图(2)(3)就不是的。
分析:我们知道树的遍历有三种方式:前,中,后。顾名思义,对称就是左边的和右边的相等,中间的自己等于自己。所以我们自己可以定义一种对称遍历算法,例如前序遍历中的前,左,右。对称算法就是:前,右,左。刚好对称比较。当然了...
分类:
其他好文 时间:
2016-06-29 11:22:34
阅读次数:
134
题目:从上到下安层打印二叉树,同一层的结点按从左到右的顺序打印,每一层打印一行。
例如,图(1)中二叉树以及打印结果为:
这个题其实很简单,我们只需要设置两个变量就可以搞定。一个变量表示当前层中还没有打印的结点数,另一个变量表示下一层结点的数目。
具体实现代码如下:
#include
#include
using namespace std;
struct BinaryTree...
分类:
其他好文 时间:
2016-06-29 11:21:20
阅读次数:
163
题目:给定一棵二叉树和其中一个结点,如何找出中序遍历顺序的下一个结点?树中的结点除了有两个分别指向左右子结点的指针外,还有一个指向父节点的指针。
分析:这里已经说了是中序遍历,所以我们就以中序遍历为例。由于是二叉树,所以有三种情况;
(1)如果如果一个结点有右子树,那么它的下一个结点就是它的右子树中最左子节点。也就是说从右子节点出发一直沿着指向左子结点的指针,我们就能找到它的
下一个结点。
...
分类:
其他好文 时间:
2016-06-29 11:19:51
阅读次数:
148
二叉搜索树的后序遍历序列 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 思路 代码 ...
分类:
其他好文 时间:
2016-06-28 22:00:03
阅读次数:
121
从上往下打印二叉树 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 思路 代码 ...
分类:
其他好文 时间:
2016-06-28 21:51:33
阅读次数:
99
剑指offer第五十题:树中两个结点的最低公共祖先:这里的树是普通树,且没有指向父结点的指针。 ...
分类:
其他好文 时间:
2016-06-28 20:36:11
阅读次数:
253
剑指offer第四十六题:求1+2+3+...+n:要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C) ...
分类:
其他好文 时间:
2016-06-28 20:33:10
阅读次数:
227
剑指offer第四十九题:把字符串转换为整数 ...
分类:
其他好文 时间:
2016-06-28 20:31:35
阅读次数:
258
剑指offer第四十七题:不能用加减乘除做加法 ...
分类:
其他好文 时间:
2016-06-28 20:30:20
阅读次数:
155
剑指offer第四十八题:不能被继承的类:用C++设计一个不能被继承的类(如C#里关键字Sealed,Java里关键字final) ...
分类:
其他好文 时间:
2016-06-28 20:30:14
阅读次数:
205