什么是用于测试树是否对称的基础算法.因为它是二叉树,我认为它将是一种递归的排序定义
正式问题如下:
如果二进制树的左右子树是相同的镜像,即二叉树是对称的,则它是自身的镜像.最好用几个例子来解释.
1
/ \
2 2
Run Code Online (Sandbox Code Playgroud)
真正
1
/ \
2 2
\
3
Run Code Online (Sandbox Code Playgroud)
假
1
/ \
2 2
/ \ / \
4 3 3 4
Run Code Online (Sandbox Code Playgroud)
真正
1
/ \
2 2
/ \ / \
3 4 3 4
Run Code Online (Sandbox Code Playgroud)
假
1
/ \
2 2
/ \
3 3
Run Code Online (Sandbox Code Playgroud)
真正
在选择的编程语言中,定义BTree类/ C结构和相关方法以检查树是否是镜像.对于静态类型语言,您可以假设节点值都是整数.
Class/structure definition
BTree {
BTree left;
BTree right;
int value;
}
Run Code Online (Sandbox Code Playgroud)
假设调用者跟踪树的根,并在其上调用函数isMirror().
此外,如果定义一个类,如果数据元素不可公开访问,请确保提供无参数构造函数和getter/setter方法.