小编Joh*_*Mòf的帖子

测试两个二叉树是否相等

我知道这可能是一个重复的帖子,但我会提交你自己的代码.我写了以下递归过程,但我想优化它.我想在找到与其他节点不同的节点时立即停止treeCompare方法,而不是比较所有节点.

在此先感谢您的帮助.

这是我的瘦Node类:

public class Node {
    public Node father;
    public Node left;
    public Node right;
}
Run Code Online (Sandbox Code Playgroud)

这是我的比较方法:

private boolean treeCompare(Node firstNode, Node secondNode) {
    if (firstNode == null && secondNode == null)
        return true;
    else if (firstNode == null || secondNode == null)
        return false;

    boolean isLEquals = treeCompare(firstNode.left, secondNode.left);
    boolean isREquals = treeCompare(firstNode.right, secondNode.right);

    return firstNode.equals(secondNode) && isLEquals && isREquals;
}
Run Code Online (Sandbox Code Playgroud)

java algorithm tree recursion

1
推荐指数
1
解决办法
1500
查看次数

标签 统计

algorithm ×1

java ×1

recursion ×1

tree ×1