java - equals() 方法适用于此二叉树吗?

标签 java

我编写了一个方法来检查两个二叉树是否相等。

这是正确的还是有更好的方法?

public  boolean equal(BinaryNode t1, BinaryNode t2){  
    if(t1==null || t2==null)  
        return false;  
    else if(t1.element != t2.element)  
        return false;  
    else if(equal(t1.left,t2.left))   
        return false;  
    else if(equal(t1.right,t2.right))   
        return false;  
    else  
        return true;
}  

最佳答案

以下内容可能更接近您正在寻找的逻辑,但完全未经测试并写入此文本字段中:

if (t1==null && t2==null)
    return true;
if (t1.element != t2.element)
    return false;
return equal(t1.left, t2.left) && equal(t1.right, t2.right);

您当前的版本存在很多缺陷。

关于java - equals() 方法适用于此二叉树吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8806497/

相关文章:

java - 在 Vaadin 中为网格的每一行添加一个鼠标监听器

java - 我需要在 Java 中关闭 InputStream 吗?

java - 如何防止 Cassandra 的数据流读取并行度降低

java - 为什么 count++ 在我的代码中不起作用?

java - 拒绝某些数字的程序

java - 请帮我提供 self 引用指针

java - 如何使用 TrueZip 获取存档中文件的大小?

java - JAXBElement 优于 ArrayList?

Java EE 7 教程,netbeans 找不到 glassfish

java - 堆排序比我更狡猾