gpt4 book ai didi

java - 测试两棵二叉树是否相等

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:17:57 26 4
gpt4 key购买 nike

我知道这可能是重复的帖子,但我会提交我自己的代码以引起您的注意。我写了下面的递归过程,但我想优化它。我想在发现与其他节点不同的节点时立即停止 treeCompare 方法,而不是比较所有节点。

预先感谢您的帮助。

这是我的瘦节点类:

public class Node {
public Node father;
public Node left;
public Node right;
}

这是我的比较方法:

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;
}

最佳答案

private boolean treeCompare(Node firstNode, Node secondNode) {
if (firstNode == secondNode)
return true;

if (firstNode == null || !firstNode.equals(secondNode))
return false;

return treeCompare(firstNode.left, secondNode.left) && treeCompare(firstNode.right, secondNode.right);
}

关于java - 测试两棵二叉树是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34184044/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com