我应该检查一个二叉树是否与使用递归的另一个树具有相同的结构。 我遇到麻烦的部分是搞清楚如何在每个级别检查是否存在左侧或右侧并将其与其他树进行比较。任何形式的帮助,将不胜感激谢谢。检查二叉树是否具有相同的结构
public boolean hasSameStructureAs(BinaryTree tree){
//If left and right are null they are still similar
if(leftChild == null && rightChild == null);
return true;
if (leftChild == null && rightChild != null)
return false;
if (leftChild != null && rightChild == null){
return false;
//我有下面的代码的递归部分的麻烦,我想我有这部分正确
if (!tree.equals(rightChild.left,leftChild.left)) return false;
if (!tree.equals(rightChild.right, leftChild.right)) return false;
return true;
下面是一些构造函数和get/set方法。
public class BinaryTree {
private String data;
private BinaryTree leftChild;
private BinaryTree rightChild;
public BinaryTree(String d) {
data = d;
leftChild = null;
rightChild = null;
}
public BinaryTree(String d, BinaryTree left, BinaryTree right) {
data = d;
leftChild = left;
rightChild = right;
}
public String getData() {
return data;
}
public BinaryTree getLeftChild() {
return leftChild;
}
public BinaryTree getRightChild() {
return rightChild;}
感谢使它很清楚,你很不错! – user3450909