我正在研究一個代碼,用於確定2個BST是否在值上相等。檢查2個BST是否等於數值
這就是我想出的,但它只是返回true,我真的不知道問題是什麼。
public boolean same(BSTree t2) {
return sameTree(root, t2);
}
private boolean sameTree(TreeNode n, BSTree other) {//L-M-R
boolean found = false;
if (n != null) {
sameTree(n.getLeftNode(), other);
if (other.search(n.getData())) {
found = true;
}
sameTree(n.getRightNode(), other);
}
return found;
}
在主要方法中,我創建了2個BST並在其中插入了值。然後,我打電話給我以下稱爲方法:
System.out.println("Are the trees the same: " + tree1.same(tree2));
再次查看我的代碼,你是對的,我會嘗試再次解決它。謝謝! – Scarl