下面用先根遍历的思路描述算法的步骤:
若两棵二叉树都为空,则两棵二叉树相等,返回true;
若两棵二叉树都非空,则
- 若根结点的值相等,则继续判断它们的左子树是否相等;
- 若左子树相等,则再继续判断它们的右子树是否相等;
- 若右子树也相等,则两棵二叉树相等,返回true。
任何其他情况都返回false
二叉链式存储结构的结点类描述:
package tree;
public class BiTreeNode {
public Object data;
public BiTreeNode lchild,rchild; //左右孩子域
//构造一个空节点
public BiTreeNode() {
this(null);
}
//构造一颗左、右孩子域为空的二叉树
public BiTreeNode(Object data) {
this(data,null,null);
}
//构造一棵数据域和左、右