我刚开始使用 java 和递归方法,我需要一些帮助:我需要确定两个二叉搜索树是否具有完全相同的元素集,而不管树的结构如何。
我写了一个方法来检查树是否包含一个元素,它被称为 contains()
这是我到目前为止得到的:
public boolean sameContents(Node n2) {
if (contains(n2, n2.key) && n2.left == null && n2.right == null) { return true; }
if (contains(n2, n2.key) && n2.left != null) { sameContents(n2.left); }
if (contains(n2, n2.key) && n2.right != null) { sameContents(n2.right); }
return false;
}
基本上我的想法是只要一个节点还有一个孩子并且树匹配,该方法就会运行。我用例如 testTree1.sameContents(testTree2); 调用该方法;但是该方法总是返回false ...有人可以指出应该如何做吗?