我應該檢查一個二叉樹是否與使用遞歸的另一個樹具有相同的結構。 我遇到麻煩的部分是搞清楚如何在每個級別檢查是否存在左側或右側並將其與其他樹進行比較。任何形式的幫助,將不勝感激謝謝。檢查二叉樹是否具有相同的結構
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