刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
解答思路:
要比较两棵二叉树是否相等,我们需要递归地比较它们的结构以及每个节点的值。首先检查两棵树的根节点值是否相等,如果相等,那么继续递归地比较它们的左子树和右子树。如果任何一个节点的值不相等,或者一个节点有子节点而另一个没有,或者两者的子树结构不同,那么这两棵树就不相等。
最优回答:
可以编写一个递归函数来进行比较。首先检查两个根节点是否为空,如果都为空,则它们是相等的。接着比较两个根节点的值,如果值不相等,则返回false表示两棵树不相等。然后递归地比较左子树和右子树,如果左子树和右子树都相等,那么这两棵树就相等。
以下是可能的Python代码实现:
def compare_binary_trees(t1, t2):
# 如果两棵树都为空,则认为它们相等
if t1 is None and t2 is None:
return True
# 如果只有一棵树为空,则认为它们不相等
if t1 is None or t2 is None:
return False
# 比较根节点的值
if t1.val != t2.val:
return False
# 递归比较左子树和右子树
return compare_binary_trees(t1.left, t2.left) and compare_binary_trees(t1.right, t2.right)
本文链接:Given two binary trees, write a compare function t
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!
